タグ

SQLインジェクションに関するamerica66のブックマーク (2)

  • サニタイズ/入力値検証/エスケープの考え方 - Qiita

    結論 ・PHPに入ってくるときに入力値検証 ・PHPから出ていくときにエスケープ ・サニタイズはない サニタイズ サニタイズって言うと怖い人たちがやってくるから言わないようにしましょう。 サニタイズは入力値検証もエスケープもなにもかもを含んだ広い意味になってしまったので、うっかり言ってることがい違うと大変です。 入力値検証 入力値検証は、PHPの外からPHPに入ってくる値を検証することです。 外というと主に$_REQUEST/$_GET/$_POST等のリクエストパラメータがイメージされますが、実際はそれ以外にも環境変数、コマンドライン引数、ファイルやデータベースからの読み込みなど、PHP以外からやってくる全てのものを指します。 入力値検証はセキュリティ対策ではない もう入力値検証はセキュリティ対策としてあてにしないようにしようという記事がありますが、「もう」以前に、そもそも入力値検証は

    サニタイズ/入力値検証/エスケープの考え方 - Qiita
  • PHPでのSQLインジェクション対策 - プレースホルダ編 | Let's POSTGRES

    第四企画 坂井 潔 SQLインジェクションの脅威からシステムを守るために、プログラミング言語/スクリプトからSQLを発行するときには、パラメータを適切に処理しなくてはなりません。今回はプレースホルダ編と題し、SQLインジェクション対策として最も簡単で効果的な方法を、PHPで説明します。 SQLインジェクションとは? まず「SQLインジェクション」とは何かおさらいしましょう。SQLインジェクションとは、アプリケーション(この場合はPHPスクリプト)に渡すパラメータの値を操作することで、元々は意図されていない処理をSQLとして実行させてしまうことです。 簡単な例をあげてみます。ユーザーから文字列「山田」が渡されたとき、以下のようなSELECT文を発行することにします。 SELECT * FROM users WHERE username LIKE '%山田太郎%'; ユーザーに入力された文字列

  • 1