悲しいことに、悲しいことに、私の学生のウェブサイトがハッキングされたばかりです。誰かがscript tag
を挿入し、データベースに保存します。データベースはウェブサイト呼び出しのpastebinで公開されています。私はちょうどウェブサイトをダウンした。誰かが私にこの速さを修正する方法を教えてもらえますか?
答えて
フィルタと準備文の組み合わせを使用してください。
http://php.net/manual/en/function.filter-input.php
http://php.net/manual/en/pdo.prepared-statements.php
strip_tags()を使用してデータベースに値を挿入して、文字列からHTMLタグまたはPHPタグを削除することができます。
これは、あなたが
$code=strip_tags($code);
は、データベースに挿入するすべての変数とそれを使用して、文字列からHTMLおよびPHPタグを削除する方法です。
$code=strip_tags($code);
$fn=strip_tags($fn);
$em=strip_tags($em);
$un=strip_tags($un);
$hash=strip_tags($hash);
$salt=strip_tags($salt);
$ip=strip_tags($ip);
$this->db1->query("INSERT INTO users SET code='" . $code . "', firstname='" . $fn . "', email='" . $em . "', username='" . $un . "', password='" . $hash . "', salt='" . $salt . "', registerdate='" . time() . "', ipregister='" . $ip . "'");
strip_tags()完全にSQLインジェクションを防ぐものではないが。あなたは準備されたステートメントをうまく使うべきです。
参考:http://php.net/manual/en/mysqli.quickstart.prepared-statements.php
ありがとう、完成したコードを教えてくれますか?試してみるとうまくいきません! – schoolteacher
各変数で 'strip_tags'を呼び出し、それをクエリ文字列で使用するだけです。更新された回答を確認してください。 –
'strip_tags()'だけではSQLインジェクションを防ぐことはできません。 –
- 1. Tastypieサニタイズ入力?
- 2. ReactJSの入力サニタイズ
- 3. .Net DbCommandサニタイズ入力
- 4. 入力サニタイズVS検証
- 5. 角2入力のサニタイズ
- 6. pythonでシェル= Trueのサブプロセスのサニタイズ入力
- 7. pingプログラムへのPHP入力のサニタイズ
- 8. XSS攻撃 - サニタイズ入力vs拒否
- 9. 入力をサニタイズする.NETライブラリ?
- 10. @ Html.Textareaは入力をサニタイズしますか?
- 11. ユーザー入力をlaravelでサニタイズする
- 12. golangの入力データのサニタイズ方法は?
- 13. ユーザ入力をサニタイズするRails
- 14. 郵送前にPHPでユーザ入力をサニタイズする方法は?
- 15. YIIはgetパラメータで入力をサニタイズします
- 16. Scala Anorm Stringの置換はサニタイズ入力ですか?
- 17. Erlangの入力をサニタイズする方法は?
- 18. 入力タグはHTMLで「サニタイズ」されていますか?
- 19. Java Webアプリケーションでの入力のサニタイズ方法
- 20. クリーナーはJTextField入力を「サニタイズ」しますか?
- 21. Javaでのデータベース入力のサニタイズ方法は?
- 22. laravel 4 - サニタイズ入力:: get()(e()vs HTMLタグ:: laravel 4)
- 23. oracle querysのhtml jquery-ui php入力変数のサニタイズ
- 24. Yii CActiveFormは自動的にユーザー入力をサニタイズしますか?
- 25. C#でユーザ入力をサニタイズする - 最もクリーンな方法?
- 26. URLの一部としてユーザー入力をサニタイズする
- 27. Entity Frameworkを使用したsql入力パラメータのサニタイズ
- 28. javacriptを使用してクライアント側のユーザー入力をサニタイズする
- 29. codeigniterはどのように入力をサニタイズしますか?
- 30. Spring MVCフレームワークでユーザ入力をサニタイズする
任意のユーザの挿入データとにhtmlentitiesはそれがすべてのデータあなたの出力をエスケープ – Saurabh
使用プリペアドステートメントを見てみましょう[htmlspecialchars](http://php.net/manual/en/function.htmlspecialchars.php)を使用してWebブラウザを開きます。そうすれば、Webブラウザに送信されたときに決して実行されません。 – rypskar
出力する前に、データを生成したときにマジッククオートとバインド・パラメータを持つ 'mysqli_real_escape_string' –