Submit Search
Upload
PHP+DB
•
Download as PPTX, PDF
•
0 likes
•
713 views
Sawada Makoto
Follow
第4回 ABC用資料 PHPでDB(MySQL)につなぐ方法、実行する方法について学びます。
Read less
Read more
Software
Report
Share
Report
Share
1 of 19
Download now
Recommended
Mongo db勉強会
Mongo db勉強会
otmb
Phpcon kansai 2011 ichikaway
Phpcon kansai 2011 ichikaway
ichikaway
リーダブルコードが良書だったのでまとめました
リーダブルコードが良書だったのでまとめました
Takumi Sato
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2
Hirokuma Ueno
ldapvi & python-ldap で stress-free life
ldapvi & python-ldap で stress-free life
Kouhei Maeda
リーダブルコード勉強会
リーダブルコード勉強会
TAKUYA YAMAMOTO
URIやTEXTをBEAMするアプリを作ったよ!
URIやTEXTをBEAMするアプリを作ったよ!
treby
Beam利用アプリ紹介+関連技術ネタ
Beam利用アプリ紹介+関連技術ネタ
Kenichi Kambara
Recommended
Mongo db勉強会
Mongo db勉強会
otmb
Phpcon kansai 2011 ichikaway
Phpcon kansai 2011 ichikaway
ichikaway
リーダブルコードが良書だったのでまとめました
リーダブルコードが良書だったのでまとめました
Takumi Sato
Nordic nRF51822でBLEしてみました 2
Nordic nRF51822でBLEしてみました 2
Hirokuma Ueno
ldapvi & python-ldap で stress-free life
ldapvi & python-ldap で stress-free life
Kouhei Maeda
リーダブルコード勉強会
リーダブルコード勉強会
TAKUYA YAMAMOTO
URIやTEXTをBEAMするアプリを作ったよ!
URIやTEXTをBEAMするアプリを作ったよ!
treby
Beam利用アプリ紹介+関連技術ネタ
Beam利用アプリ紹介+関連技術ネタ
Kenichi Kambara
とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。
Kouhei Maeda
ダイナミックDNSとは
ダイナミックDNSとは
Takeshi Kabu
Programming under capability mode
Programming under capability mode
Yuichiro Naito
Lesson01
Lesson01
MRI
リーダブルコード 1.0'
リーダブルコード 1.0'
Yamamura Takashi
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
Frequency with nltk
Frequency with nltk
Atsushi Hayakawa
MongoDBざっくり解説
MongoDBざっくり解説
知教 本間
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
naka hide
リーダブルコード
リーダブルコード
Keita Otsuka
3-1
3-1
Atsushi Hara
Racc でおてがる構文解析
Racc でおてがる構文解析
morphine57
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
cache.iijgio.com の中
cache.iijgio.com の中
techlog (Internet Initiative Japan Inc.)
Learn Http Requests & Responses for Test Engineer
Learn Http Requests & Responses for Test Engineer
Takashi Moriyama
Casual Compression on MongoDB
Casual Compression on MongoDB
moai kids
DBpedia Japanese
DBpedia Japanese
Fumihiro Kato
20120729 ODbL勉強会
20120729 ODbL勉強会
Shu Higashi
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門
Muneaki Nishimura
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
iPride Co., Ltd.
Open for data_summer_for_slideshare
Open for data_summer_for_slideshare
japan_db2
More Related Content
What's hot
とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。
Kouhei Maeda
ダイナミックDNSとは
ダイナミックDNSとは
Takeshi Kabu
Programming under capability mode
Programming under capability mode
Yuichiro Naito
Lesson01
Lesson01
MRI
リーダブルコード 1.0'
リーダブルコード 1.0'
Yamamura Takashi
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
Frequency with nltk
Frequency with nltk
Atsushi Hayakawa
MongoDBざっくり解説
MongoDBざっくり解説
知教 本間
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
naka hide
リーダブルコード
リーダブルコード
Keita Otsuka
3-1
3-1
Atsushi Hara
Racc でおてがる構文解析
Racc でおてがる構文解析
morphine57
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
cache.iijgio.com の中
cache.iijgio.com の中
techlog (Internet Initiative Japan Inc.)
Learn Http Requests & Responses for Test Engineer
Learn Http Requests & Responses for Test Engineer
Takashi Moriyama
Casual Compression on MongoDB
Casual Compression on MongoDB
moai kids
DBpedia Japanese
DBpedia Japanese
Fumihiro Kato
20120729 ODbL勉強会
20120729 ODbL勉強会
Shu Higashi
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門
Muneaki Nishimura
What's hot
(20)
とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。
ダイナミックDNSとは
ダイナミックDNSとは
Programming under capability mode
Programming under capability mode
Lesson01
Lesson01
リーダブルコード 1.0'
リーダブルコード 1.0'
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Frequency with nltk
Frequency with nltk
MongoDBざっくり解説
MongoDBざっくり解説
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
リーダブルコード
リーダブルコード
3-1
3-1
Racc でおてがる構文解析
Racc でおてがる構文解析
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
cache.iijgio.com の中
cache.iijgio.com の中
Learn Http Requests & Responses for Test Engineer
Learn Http Requests & Responses for Test Engineer
Casual Compression on MongoDB
Casual Compression on MongoDB
DBpedia Japanese
DBpedia Japanese
20120729 ODbL勉強会
20120729 ODbL勉強会
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門
Similar to PHP+DB
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
iPride Co., Ltd.
Open for data_summer_for_slideshare
Open for data_summer_for_slideshare
japan_db2
Openfordatasummerforslideshare 160816054829
Openfordatasummerforslideshare 160816054829
mtanaka0111
Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4
Microsoft
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
Hideharu MATSUFUJI
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
Insight Technology, Inc.
Dexiejs
Dexiejs
Ryota Suzuki
20151114 drupal温泉合宿 成果
20151114 drupal温泉合宿 成果
Kunihiro Imura
ZendStudioのご紹介
ZendStudioのご紹介
Manabu Shinsaka
PHP With Windows binary
PHP With Windows binary
Masahiko Sakamoto
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
Hadoopの紹介
Hadoopの紹介
bigt23
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
infinite_loop
Mizuno buddypress-plugin
Mizuno buddypress-plugin
Ikuko Kanada
Mizuno buddypress-plugin
Mizuno buddypress-plugin
Fumito Mizuno
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
NTT DATA Technology & Innovation
WordCampOsaka2012 開発ツール談義「NetBeans」
WordCampOsaka2012 開発ツール談義「NetBeans」
Atsuhiro Takiguchi
20130203 oss-db-lpi
20130203 oss-db-lpi
Shinichi Matsuda
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
Kazuko Itoda
Similar to PHP+DB
(20)
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
Open for data_summer_for_slideshare
Open for data_summer_for_slideshare
Openfordatasummerforslideshare 160816054829
Openfordatasummerforslideshare 160816054829
Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4
PHP基礎勉強会
PHP基礎勉強会
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
Dexiejs
Dexiejs
20151114 drupal温泉合宿 成果
20151114 drupal温泉合宿 成果
ZendStudioのご紹介
ZendStudioのご紹介
PHP With Windows binary
PHP With Windows binary
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Hadoopの紹介
Hadoopの紹介
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Mizuno buddypress-plugin
Mizuno buddypress-plugin
Mizuno buddypress-plugin
Mizuno buddypress-plugin
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
Apache Hadoopに見るJavaミドルウェアのcompatibility(Open Developers Conference 2020 Onli...
WordCampOsaka2012 開発ツール談義「NetBeans」
WordCampOsaka2012 開発ツール談義「NetBeans」
20130203 oss-db-lpi
20130203 oss-db-lpi
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
More from Sawada Makoto
ABC 第2回スライド
ABC 第2回スライド
Sawada Makoto
AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライド
Sawada Makoto
システム開発について
システム開発について
Sawada Makoto
QAサイトをつくってみよう
QAサイトをつくってみよう
Sawada Makoto
QAサイトをつくってみよう
QAサイトをつくってみよう
Sawada Makoto
第4回 データベース
第4回 データベース
Sawada Makoto
第4回 PHPのおさらい
第4回 PHPのおさらい
Sawada Makoto
More from Sawada Makoto
(7)
ABC 第2回スライド
ABC 第2回スライド
AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライド
システム開発について
システム開発について
QAサイトをつくってみよう
QAサイトをつくってみよう
QAサイトをつくってみよう
QAサイトをつくってみよう
第4回 データベース
第4回 データベース
第4回 PHPのおさらい
第4回 PHPのおさらい
PHP+DB
1.
第4回 PHP+DB AlphabetBootCamp
2.
アジェンダ 環境 今回の範囲
PDOとは PDOの使い方 セキュリティ 実際に試してみよう
3.
今回の範囲 PHPでDB(MySQL)につなぐ方法を学び、 実際にDBに対してデータの追加・取得を行うところまで
4.
環境(Environment) 実行環境 OS: Windows10
PHP: PHP7.0.13 ※ 他のOS,バージョンでも問題ないです
5.
PDO(PHP Data Objects)とは 標準で用意されているDBに接続するための仕組み 特徴
PHPにおけるDBにアクセスする方法の主流 どのDB製品を使っても同じ使い方が可能 ⇒とりあえずPDOを使う!
6.
PDOの使い方 PDO使うために必要なパラメータは3つ 1. DSN:データベースに接続するための接続情報 2. DBのユーザ名:デフォルトはroot 3.
DBのパスワード:デフォルトは未設定 ⇒おまじない的に設定でOK! ※ 他にもオプションを渡せますが、割愛…
7.
DSNの設定 MySQLのDNS 書式 mysql:dbname=データベース名;host=ホスト;port=ポート データベース名: 作成したデータベース名 ホスト: ローカルの場合は、localhost(もしくは127.0.0.1) ポート:
初期値は「3306」(ただし、省略可能) example. mysql:dbname=abc;host=localhost;port=3306
8.
PDOオブジェクトの生成 <?php // DNS $dns =
'mysql:dbname=abc;host=localhost;port=3306;charset=utf8’; // DBのユーザ名 $dbUser = 'root’; // DBのパスワード $dbPassword = '’; // PDOオブジェクトの生成 $pdo = new PDO($dns, $dbUser, $dbPassword);
9.
SQLを発行してみよう これでDBとの接続はOK! あとはSQLを発行して、データの追加や取得を行う
10.
SQLを発行してみよう - SELECT <?php //
ユーザ情報を全て取得するSQL $sql = 'SELECT * FROM users’; $stmt = $pdo->query($sql); foreach ($stmt as $row) { echo $row['name’] . '<br>’; } データの取得はqueryメソッド
11.
SQLを発行してみよう – INSERT/UPDATE/DELETE <?php //
ユーザーを追加 $sql = “INSERT INTO users (name) VALUES('澤田 諒')"; $stmt = $pdo->prepare($sql); $stmt->execute(); データの追加・更新・削除はexecuteメソッド
12.
セキュリティ 忘れてはいけないのがセキュリティ Webは全世界に対して公開される!
セキュリティが甘いと、個人情報が漏れたり… ユーザにとっても、販売会社にとっても、開発会社にとっても 大変なことに!!!
13.
セキュリティを怠るとどうなるか。 あるインテリアショップの事例で、 SQLインジェクション対策が十分でないという理由から開発会社 が提訴された。 ⇒開発会社が約3,232万円を支払うという判決 必ず、SQLインジェクション対策をしよう! SQLインジェクション対策もれの責任を開発会社に問う判決 -徳丸浩の日記 http://blog.tokumaru.org/2015/01/sql.html
14.
SQLインジェクションとは? SQLインジェクション(英: SQL Injection)とは、アプリケー ションのセキュリティ上の不備を意図的に利用し、アプリケー ションが想定しないSQL文を実行させることにより、データベー スシステムを不正に操作する攻撃方法のこと。また、その攻撃を 可能とする脆弱性のことである。[1] SQLインジェクション
– Wikipedia https://ja.wikipedia.org/wiki/SQL%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3
15.
SQLインジェクションの例 SQLにユーザからの入力を直接SQLに埋め込むと、 意図しないSQLが実行される可能性がある たとえば SELECT * FROM
users WHERE name = ‘(入力値)’ というSQLだと、入力値に’t’ or ‘t’ = ‘t’を入力されると SELECT * FROM users WHERE name = ‘t’ OR ‘t’ = ‘t’; というSQLが発行され、他のユーザ情報が表示されてしまうことになる
16.
SQLインジェクション対策 バインド機構を利用して、ユーザの入力値を埋め込む Example $sql = ‘SELECT
* FROM users WHERE name = :name’; $stmt = $pdo->prepare($sql); // 値の設定 $stmt->bindValue(‘:name’, $name, PDO::PARAM_STR); $stmt->execute(); :nameに$nameを 埋め込む
17.
実際にPHPからDBに繋いでみよう! 第3回勉強会ではCSVに内容を保存する掲示板を作りました 今回は、CSVからDBに置き換えてみましょう!
18.
おすすめ本(?) 「詳細! PHP7 +
MySQL」 価格: 3,218円(Kindle版: 966円) ※ Amazonの販売価格 おすすめポイント PHP7対応!
19.
おすすめ本 「体系的に学ぶ 安全なWebアプリ ケーションの作り方 脆弱性が生まれ る原理と対策の実践」 価格:
3,456円(Kindle版: 3024円) ※ Amazonの販売価格 おすすめポイント 脆弱性を実際のコードで試しながら、 攻撃の仕方・対策が学べる!
Download now