0

私はstackoverflowでこれに対する適切な答えを見つけることができません。しかし、おそらくそれは私が愚かであるだけです。

ユーザーがテキストファイルをアップロードできるユーザーフォームがあります。htdocsの外部に保存したり、ファイルの名前を変更したりするなど、賢明なことを行っていますが、アップロードされたファイルに有害な可能性のあるPHPスニペットが含まれているかどうかを確認するにはどうすればよいですか?また、テキストファイルとして保存されるテキストボックスがあり、ユーザーがその中にphpコードを送信したかどうかを確認したいと思います。

""をチェックするのと同じくらいばかげてい<?phpますか?このチェックを役に立たなくするようなバイト形式でこれを書き直すことはできますか?

ファイルには入力の一部として有効な「<」および「>」文字が含まれている可能性があることに注意してください。これらをエスケープしたくないのは、データ処理アプリケーションがこのサニタイズされたフォームで機能しないためです。

4

2 に答える 2

2

これを行う必要はありません。PHPコードが実行される可能性のあるコンテキストで入力が使用されないように注意する必要があります。

フォームデータを受信して​​いる場合はeval()、ある時点でコンテンツを受信して​​いないことを確認してください。それ以外は大丈夫です。

ファイルを受信して​​いる場合は、PHPインタープリターで実行できない場所にファイルを保存していることを確認してください。たとえば、アップロードされたphpファイルの実行を防止しますか?を参照してください。また、include()ユーザーがアップロードしたファイルを絶対に使用しないようにしてください。ある時点で表示する必要のあるファイルの場合は、を使用file_get_contents()してください(HTML出力用にサニタイズすることを忘れないでください)。

于 2013-02-07T12:37:02.467 に答える
-1

確実に、ファイル名と拡張子の間のポイントをアンダースコアに置き換えてください。

于 2013-02-07T12:43:15.090 に答える