ホームページ >バックエンド開発 >PHPチュートリアル >php+mysqlのアンチインジェクションコードを探しています

php+mysqlのアンチインジェクションコードを探しています

WBOY
WBOYオリジナル
2016-06-23 14:12:02766ブラウズ

MySQL PHP インジェクション防止

オンラインでたくさん見つけました。それらのほとんどはエラーを報告します。または、アンチインジェクション機能は使用できません。

ディスカッションへの返信 (解決策)

if (get_magic_quotes_gpc()) {    $lastname = stripslashes($_POST['lastname']);}else {    $lastname = $_POST['lastname'];}// 如果使用 MySQL$lastname = mysql_real_escape_string($lastname);$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";

if (get_magic_quotes_gpc()) {    $lastname = stripslashes($_POST['lastname']);}else {    $lastname = $_POST['lastname'];}// 如果使用 MySQL$lastname = mysql_real_escape_string($lastname);$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";



ファイルが含まれている限り、これは、メープル リーフのアンチインジェクションのように、取得された値ごとに処理される必要がありますか。の?

これを関数にカプセル化し、値によって呼び出すことができます。

Han Shuping の「PHP データベース プログラミング トラップ ビデオ チュートリアル」というインジェクション反対ビデオを見ることをお勧めします。 http://php.itcast.cn/news/5805c1ea/1b18/41eb/8fcc/6234659d8b40.shtml これが接続です。

それを関数にカプセル化し、値によって呼び出すことができます。

はい、ただし関数を呼び出すのは面倒です。取得した値をそれぞれ 1 回書き込む必要があります。

mysqli と PDO はどちらもデータ バインディングを提供するため、自分で処理する必要はありません

ただし、自己責任であり、トラブルを恐れることはできません

キーワード フィルタリングを実行するメソッドを提供します。送信された変数などについて

$perl="/select|update|delete|insert|alter/iUs";
$str=preg_replace($perl,"",$str);

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