2012-03-06 8 views
0

私と私の友人のサイトでは、ログインテキストボックスのフォームです。ログインが存在しない場合、エラーが表示されます。
"Error occurred. 151SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected"
無効なログインといくつかのSQLを入力すると(例:"iu7' or '1=1'--")、データもエラーも表示されません。
そのフォームは安全ですか?有効なログイン+ sqlを入力してログインのパスワードを結果に切り替えることは可能ですか?どう思いますか?このサイトから機密データを取得する方法はありますか?

答えて

2

クエリを送信する前に、mysql_real_escape_string($_POST['...'])を使用して入力値をエスケープする必要があります。この方法では、あなたが入れた文字列で安全でなければなりません。

私はSOの人々があなたが他のサイトを注入するのを手伝ってくれると思っています。

2

投稿されたデータを使用してSQLコマンドをどのように構築するかによって異なります。単純に値から文字列を作成する場合は、SQLインジェクション攻撃の危険があります。

は、この記事を見てみましょう:

http://php.net/manual/en/pdo.prepared-statements.php

これは、SQLインジェクションに対して保護するPHPでプリペアドステートメントを構築する方法について説明します。

関連する問題