- PHPってなあに??????
- PHP入門 -> 本を使うよー()
- セキュリティってなあに??
- 発表準備
- パワポつかうやで
- 発表(5/25, 5/31)
- 毎週木曜日の例会のあと
- 19:30~
-
PHPとは?をちょっと調べといてね〜 -PHPとは HTMLへの埋め込み型プログラミング言語 プログラムの結果をブラウザソフトに返す、所謂Webプログラミングに利用されるモノ -PHPでできること、具体的アプリケーション例 ウェブログ(所謂「ブログ」)、ショッピングカート(amazonみたいな?)、フォームメール(アンケートとか申し込みとか?)、アクセス解析、アクセスカウンタ、掲示板(5chとか) -PHPの仕組み
http://www.php-labo.net/tutorial/ready/
- phpです。
- macにdockerを入れる
- dockerにPHPの環境をつくる
- 図書館に行きます
- docker for mac 入れる
- https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81
- docker version
- docker-compose version
welcome-seminar
っていう名前のディレクトリを作ってください
├── docker-compose.yml
├── nginx
│ └── nginx.conf
├── php
│ ├── Dockerfile
│ └── php.ini
├── mysql
│ └── data
└── www
└── html
└── index.php
- phpの環境入れる
docker-compose up -d
docker ps -a
docker-compose stop
hello world
が表示されたのでOK
1回目オワリ
- ターミナルはつけっぱ
- docker-compose起動、
index.php
に色々書き写す
- docker-compose起動、
急で申し訳ない😢
- 僕が上回生会議で軟禁されてる間にちょっとした問題的なのを考えてもらいます
- スライドの大まかな作成
- (ただ、発表が木曜なのでもしかすると...)
- zipぶちこんできて解凍、ファイル配置
- dockerを立ち上げて見てみる(復習)
- ルート:http://localhost:5963
- ログインID:
hoge
- パスワード:
password
- ログインID:
- Dockerを立ち上げた後ログイン、http://localhost:5963/login_success.php に入れば成功
- 怪しい名前入力フォームにまず自分の名前入力 -> まんま出力されたらOK
- 次に
<form action="login_success.php" method="POST" name ="warui_form">
<input type="hidden" name="お名前" value='<script>alert("悪意のあるjavascript");</script>'> </form>
<a href="https://www.kantei.go.jp/" onclick="document.warui_form.submit();return false;" >小銭稼ぎたい方はこちらをクリック!</a>
をコピペして送信ボタンポチー
- 小銭を稼ぎたい方はこちらをクリック! とか言うクソ怪しいリンクが表示されて、クリックすると首相官邸に飛べば成功
->
これ実は本当にデーターベースに接続していないのでマジのやつではない
-> データベースの設定をします(後ほど)
login_success.php
の一番下の 次→ をクリック- http://localhost:5963/update.phpに切り替わる
- MySQLを使います
- 実はもうコレ既にdocker-composeに入ってるので今はインストール必要無し
- いつもどおりdocker起動、コンテナ起動
- mysqlのコンテナの中に入らないとdb(データベース)が操作できないので、
docker ps -a
でコンテナのID確認docker exec -it <コンテナID> bash
コレでmysqlのコンテナの中に入れる(試しにmysql --version
って打つと色々出てくる)
- 次にmysqlのコンソールの中に入ります
mysql -u root -p
と打つとパスワード入力求められるのでpassword
と入力 ->access denied
とかなんたら言われなかったら★侵☆入★成☆功★
mysql>
# こんな感じで表示されてるはず
- このままだと僕たちが操作して好きなように出来るdbがないので作ります
create database welcome_seminar;
と入力 (セミコロン(;
)忘れない、名前はアンダーバー(_
)区切りで入力)show databases;
で確認
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| welcome_seminar |
+--------------------+
5 rows in set (0.02 sec)
みたいな感じで出力されたらおk
- 次にルートで操作すると色々やばいのでユーザー作ります
grant all on welcome_seminar.* to 'php_user'@'localhost' identified by 'root';
これでphp_user
って名前のユーザーが出来る、権限全部盛りなのでほぼルートSELECT user, host FROM mysql.user;
で確認
mysql> SELECT user, host FROM mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
| php_user | localhost |
| root | localhost |
+---------------+-----------+
5 rows in set (0.00 sec)
みたいな感じなり
- 一旦
\q
でログアウト mysql -u php_user -p
でログイン- パスワード:
root
ちょっとくどくど長いんで巻きでやっていきます
- パスワード:
use welcome-seminar
で使用dbに標準合わせるcreate table users(id int auto_increment not null primary key, user_name varchar(32), password varchar(32));
- とりあえずコレ入力してくさだいすまそ
- テーブルとカラムを作っています
insert into users(user_name, password) values('rits', 'ritsumeikan');
- とりあえずこr
- さっき作ったテーブルとカラムにデータぶちこんでます
mysql> select * from users;
+----+-----------+-------------+
| id | user_name | password |
+----+-----------+-------------+
| 1 | rits | ritsumeikan |
+----+-----------+-------------+
1 row in set (0.00 sec)