0

この関数は、間違った入力のほとんどからアプリを救うでしょうか? ユーザー入力は、数字のみのテキストにする必要があります。

function sanitize($data){
    $data = strip_tags($data);
    $data = htmlspecialchars($data,ENT_QUOTES);
    $data = filter_var($data,FILTER_SANITIZE_STRING);
    $data = filter_var($data,FILTER_SANITIZE_STRING,FILTER_FLAG_STRIP_LOW);
    return $data;           
}

PS 追加情報が必要ですか?

4

1 に答える 1

3

データを「サニタイズするだけ」ということはありません。データベースへの送信、ファイル名としての使用、ユーザーへのエコーアウトなど、特定のユースケースに合わせてデータを適切にサニタイズする必要があります。データを完全にサニタイズしようとするあなたの試みは失敗する運命にあります。意味がありません。データを「サニタイズ」するという概念は、データをサニタイズしたいコンテキストと組み合わせた場合にのみ意味があります。

特に、データベースに入力するためにデータをサニタイズする場合 (明確ではありません。質問ではデータベースについて特に言及していませんが、「sql-injection」タグが付いています)、データベース接続に関する情報が必要になる可能性が最も高くなります。正しく行うために使用しています。

于 2012-04-25T11:19:20.600 に答える