可能性の重複:
The ultimate clean/secure functionループを使用してGET/POSTをサニタイズするには?
それはPOST/GETデータを消毒に来るとき私達はちょうどユニバーサルPHPですべての設定変数を通過するループをプログラムすることができ、ファイルを含めると、持っていませんでしたコードでそれを心配する?
私はいつもこれを行うために墨塗りという機能を行ってきましたが、これは理にかなっているようです。
可能性の重複:
The ultimate clean/secure functionループを使用してGET/POSTをサニタイズするには?
それはPOST/GETデータを消毒に来るとき私達はちょうどユニバーサルPHPですべての設定変数を通過するループをプログラムすることができ、ファイルを含めると、持っていませんでしたコードでそれを心配する?
私はいつもこれを行うために墨塗りという機能を行ってきましたが、これは理にかなっているようです。
アプリケーションで、必要なときに機能する関数を作成する方がよい場合があります。必要な場合に備えて、元の投稿された値が残っています。必要に応じて、オプションを渡すことであなたが浄化しているものに基づいて機能を変更することができます。例:
function getPostField($field)
{
// all your sanitation and isset/empty checks
$val = sanitize($_REQUEST[$field]);
// ...
return $val;
}
はい、もちろんです。いくつかのフレームワークはこれを自動的に行い、消されたREQUEST
変数を別の配列またはオブジェクトに格納するため、元のデータは必要な場合には引き続き使用できます。
データベース/非データベースのために別のものを用意しますか? –
私はすべてのデータベースのサニタイズをデータベースクラスに保持しているため、データは挿入/照会の直前にチェックされます。 – Tak
PHPはこの機能を一度持っていました...言語からそれを禁止するには年月がかかりました。 –
「サニタイズ」のようなものはありません。いったんあなたが "サニタイズ"と呼ぶことをしたら、あなたは何か間違ったことをして、アプリケーションを脆弱にするか、または使用不可能にします。 –