2008年2月 2日

[PHP-users 33229] Re:SQLインジェクションの可能性

成田 実さん返信ありがとうございます。

> まずはデータベースは何を利用しているのか、
> PHPのバージョンは4系なのか5系なのかを明記してください。
すみません。初歩的な部分ですよね。
例を挙げてみますね。

・PHP5系

・Windows2000サーバ
・MS SQL Server
・IIS

といった環境でHTMLフォームからの入力をデータベースに
格納するといった感じの場合です。

$val=htmlspecialchars($_POST['input'],ENT_QUOTES,'SJIS');
$query = "SELECT * FROM table1 WHERE userID= '$val'";

userIDとはしてますがデータは可変長のテキスト型と思ってください。
文字列の長さはある程度制限するとして、$_POST['input']の内容は
クオートがあれば実態参照に変換されているのでクエリーが改ざん
(SQLインジェクション)される事はないのだろうか?
他にエスケープする必要性はないのだろうか?

格納したデータはHTML表示用に利用するため"'<>&等は
htmlspecialcharsで変換されたままで構わない状況下での話しです。

といった質問内容です。言葉足らずで度々すみません。

再びよろしくお願いします皆様。

---------------------------------------------
新垣友孝
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2008年2月 2日 02:13
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/69341
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。