1

functionコードの残りの部分を単純に保つために、サニタイズを作成しようとしています。私が使用しているのでMYSQLi、次のコードが正しいかどうか疑問に思いますか?

function sanitize ($data){
    global $db_connect;
    return htmlentities(strip_tags($db_connect->real_escape_string($data)));
}

function array_sanitize ($item) {
    global $db_connect;
    $item = htmlentities(strip_tags($db_connect->real_escape_string($item)));
}
4

1 に答える 1

1

文字列をサニタイズする理由は2つあります。

SQLインジェクションを防ぐ

SQLインジェクションを防ぐために使用する代わりに、プリペアドステートメントを使用する必要があります。real_escape_string()Mysqli Extensionは、プリペアドステートメントをサポートします。それらは最も安全で使いやすいです。それらを使用してください。

XSS攻撃を防ぐ

htmlentities()XSS攻撃を防ぐために、strip_tags()役立つ場合があります。また、入力文字セットを正しく処理する関数であることも確認する必要があります。

OWASPからこのドキュメントも読む必要があります

于 2013-02-05T18:07:24.883 に答える