SQLインジェクションの問題について質問する

WBOY
リリース: 2016-06-23 13:57:49
オリジナル
1077 人が閲覧しました

皆さんこんにちは、私は数日前にウェブサイトを作成しましたが、SQL インジェクション防止を行っていないことを考慮して、ここ数日いくつかの事例を読んで自分のウェブサイトで使用しましたが、応答がありませんでした。質問したいのですが、SQL コードを挿入できるようにするにはどうすればよいでしょうか。
主なステートメントは次のとおりです
include "../admin/connss.php";
$id=$_GET[id];
$sql=mysql_query("select * from news where id='$ id '");
$row = mysql_fetch_array($sql);
?> 次へ
ありがとうございます

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

挿入を防ぐためにラッシュまたは mysql_real_escape_string をフィールドからエスケープできます

スラッシュを追加しますまたは、mysql_real_escape_string は、注入を防ぐためにフィールドをエスケープできます

、mysql データベースを使用する場合、他に何もせずに mysql_real_escape_string だけで mysql インジェクションを防ぐことができますか?

接続には PDO を使用してください。mysql_real_escape_string は PHP の新しいバージョンでは廃止されており、addslashes はまったく信頼できません。

addlashes または mysql_real_escape_string は、インジェクションを防ぐためにフィールドをエスケープできます

つまり、このコードの場合、SQL インジェクションを構築する方法は?ありがとうございます


e9c87e166d059c9432fbf364e7a1dfec

でも、実際には注射できないことがわかったのですか?どうしますか?

二重引用符を自分で削除してください。

include "../admin/connss.php";

$id=INTVAL($_GET[id]);
$sql=mysql_query("select * from news where id='$id' ");
$row = mysql_fetch_array($sql);
?>

最後に0を追加します

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート