ホームページ  >  記事  >  バックエンド開発  >  PHP アンチ SQL インジェクション プログラム コード_PHP チュートリアル

PHP アンチ SQL インジェクション プログラム コード_PHP チュートリアル

PHP中文网
PHP中文网オリジナル
2017-03-19 10:34:581123ブラウズ

これを共通の呼び出しファイル (conn データベース リンク ファイルなど) に配置し、すべての GET または POST データを特別な文字列でフィルタリングして、シンプルで効果的な SQL インジェクション フィルタリングを実現します。 PHP 初心者の方、批判やアドバイスを歓迎します。ありがとうございます。

  1. 【コード】シンプルな関数プラス判定

Function inject_check($sql_str) {
    return eregi('select|insert|and|or|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str);
}
if (inject_check($_SERVER['QUERY_STRING'])==1 or inject_check(file_get_contents("php://input"))==1){
    //echo "警告 非法访问!";
    header("Location: Error.php");
}

2.【コード】(2013年12月23日更新)皆さんの提案を組み合わせてこんな感じに変更しました。皆様、いつも批判やアドバイスをありがとうございます! (大文字と小文字は区別されません)

Function inject_check($sql_str) {
    return preg_match('/select|insert|and|or|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/i', $sql_str);
}
if (inject_check($_SERVER['QUERY_STRING'])==1 or inject_check(file_get_contents("php://input"))==1){
    //echo "警告 非法访问!";
    header("Location: Error.php");
    exit;
}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。