タグ

phpとMySQLに関するcyarのブックマーク (3)

  • PHP での SQL インジェクション対策はどのように行いますか?

    前提 まず、SQL インジェクション対策を含め、脆弱性対策の前提としてなるべく新しい安定版の PHP を利用するようにしてください。 バージョンアップにより脆弱性が解消したり、より安全になっています。 なお、以下の方法は PHP 5.3.7 以上で対応しています。(PHP 5.3.6 でも対応していますが、Windowsの実装が不完全です) ただし、PHP 5.3 系は 2014/8/14 でセキュリティサポートが終了しています。 PDO + 静的プレースホルダを用いた SQL 文発行 PDO を利用する場合、以下のポイントを押さえることで安全に利用出来ます。 1.文字エンコーディングを指定する 2.静的プレースホルダを用いる 3.バインド時に型を指定する それぞれについて、以下に実装方法を説明します。 1. 文字エンコーディングを指定する 期待した文字エンコーディングとして動作するよう、

    PHP での SQL インジェクション対策はどのように行いますか?
  • PDOを使ったPHPでのデータベース基本操作 - Qiita

    PHPでデータベースを操作する方法をまとめました。簡易な解説なので、プログラムの日が浅い人は理解できないかもしれません。復習用としてお使いください。 PHPでデータベースを操作する場合は、まずPDOオブジェクトを生成します。この時はコンストラクタでデータベース情報を設定しておきます。 後は、そのPDOオブジェクトのメソッドでデータベースを操作するだけです。今回は、$dbhという変数でPDOオブジェクトを管理しています。 データベース接続に必要な情報 まずはサンプルコードです。 <?php define('DB_HOST', 'DBの場所'); define('DB_NAME', 'DBの名前'); define('DB_USER', 'ユーザー名'); define('DB_PASSWORD', 'パスワード'); // 文字化け対策 $options = array(PDO::MYSQL

    PDOを使ったPHPでのデータベース基本操作 - Qiita
    cyar
    cyar 2018/03/06
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
    cyar
    cyar 2018/03/06
  • 1