2012-04-30 12 views
3

以下のデータを受け入れ、PHPやPythonで配列などとして解析する方法を見つけることに問題があります。テキストエリアでPHPを受け入れることは危険です。別の解決策を探してみる

このような内部配列にはさらに多くのフィールドがあり、表示方法は設定されていません。

私はテキストエリアからの入力を解析し、それをそれの配列として使用できる方法はありますか?またはそれと何をするかについての他のアイデア?

+0

。その後、それを後で解析して実行し、自分のものを吹き飛ばすことができます。少なくとも、注入された悪いコードを誰が実行したのかが分かります。 –

+1

配列として入力する必要がありますか?もしそうでなければ、YAMLはかなり良い仕事をするでしょう。 – halfer

+0

@MikeMcMahon - 私は、配列がその後PHPとして実行されるという考えを持っていると思います。なぜなら、別のフォーマットを受け入れ、その後に配列に変換するべきだと思う理由です。 – halfer

答えて

7

JSONを入力フォーマットとして使用するとどうなりますか?それは簡単に解析することができ、セキュリティリスクではありません。

+0

それは、ありがとうございます。 – iarp

1

Pythonでは、ast.literal_evalを使用して文字列を安全に辞書に解析できます。

3

私はあなたが必要なものを理解していれば、

これはJSONがために作られたものです!

は、あなたが簡単にオブジェクトや配列を渡すことができhttp://codepad.org/17jxHjeY

あなたのデータを使用して、この簡単な例を見てみましょう。あなたは彼らが投稿するとすぐにサーバーに対して実行または実行されないようにコードをエスケープ/ちょうどHTMLエンコード、彼らはあなたがしたいすべてのコードを投稿できるようにすることができます

マイク

関連する問題