PHP講習会私的メモ(第1回)
先日のPHP講習会の私的メモ。
なお小生の知識レベルはASP(.NETでない)は基本レベル、Perlをかじった程度です。
●基本
変数は$。""は変数展開。文末は;。perlと一緒だ。
配列も$だから注意。連想配列もあるよ。
<?phpの書き出しに慣れない。ASPは<%でタイプ数も少ない。
あとperlのuse strict;みたいなのはないのかな?まだ習ってない。
●関数
http://www.php.net/関数で検索。
例:http://www.php.net/print
やー!これは便利。
●フォーム入力
$_POST/$_GETにformのnameをキーにして連想配列。
これはすごい!(タイプが面倒っぽいけど)
ASPのようにRequestで取得しなくて良いんだ。
●ループ制御
$valueだけ欲しい場合はas $key=>を省略可。
●セッション
この辺はASPと一緒。
●セッション固定攻撃
phpは設定によってはGETでセッションを引き回せる(cookieに対応していないブラウザ向けに便利)。
でもこれだとセッションIDを指定した偽URLをクリックさせ、セッションを乗っ取ることができる!!
これってかなり危なくね?
対策としてはアクセス直後にセッションIDを変更する関数を使用して乗っ取りを防ぐ。
今回は第1回ということもあり、ついていくことができました。
間違いなどお気づきの点はご指摘いただければと思います。
なお小生の知識レベルはASP(.NETでない)は基本レベル、Perlをかじった程度です。
●基本
<?php
$hensu="Hello";
print("$hensu Word!");
$array = Array("a","b","c");
?>変数は$。""は変数展開。文末は;。perlと一緒だ。
配列も$だから注意。連想配列もあるよ。
<?phpの書き出しに慣れない。ASPは<%でタイプ数も少ない。
あとperlのuse strict;みたいなのはないのかな?まだ習ってない。
●関数
http://www.php.net/関数で検索。
例:http://www.php.net/print
やー!これは便利。
●フォーム入力
$_POST/$_GETにformのnameをキーにして連想配列。
これはすごい!(タイプが面倒っぽいけど)
$value=$_POST["name"];ASPのようにRequestで取得しなくて良いんだ。
●ループ制御
foreach ($_POST as $key=>$value){
print("$key is $value");
}$valueだけ欲しい場合はas $key=>を省略可。
●セッション
session_start();//セッションスタート
$_SESSION["name"]="umakoya";//セッション代入この辺はASPと一緒。
●セッション固定攻撃
phpは設定によってはGETでセッションを引き回せる(cookieに対応していないブラウザ向けに便利)。
hoge.php?PHPSESSID=xxxxxxでもこれだとセッションIDを指定した偽URLをクリックさせ、セッションを乗っ取ることができる!!
例
http://hoge.co.jp/login.php?PHPSESSID=dangerこれってかなり危なくね?
対策としてはアクセス直後にセッションIDを変更する関数を使用して乗っ取りを防ぐ。
session_start()
session_regenerate_id(true)//セッションIDを変更
//以下処理
今回は第1回ということもあり、ついていくことができました。
間違いなどお気づきの点はご指摘いただければと思います。
