PHPのセキュリティ
PHP と Web アプリケーションのセキュリティについてのメモ
WEBデザイナーの為のXSS(クロスサイトスクリプティング)入門
ockeghem(徳丸浩)の日記
php 値の持ち回り
トラッキング値などを持ちまわる場合(コンバージョン結果特定など)
a.php
<?php
$aaa = ‘12345’;
?>
<a href =”b.php?aaa=<?php echo $aaa;?>”>持ちまわる(b.phpへ)</a>
b.php
アドレスバーの値確認
b.php<br />
aaaの値は<?php echo $_REQUEST[‘aaa’];?><br />
<a href =”c.php?aaa=<?php echo $_REQUEST[‘aaa’];?>”>持ちまわる(c.phpへ)</a>
<br />
c.php
c.php<br />
aaaの値は<?php echo $_REQUEST[‘aaa’];?>です<br />
<br />
参考
値の受け渡し
php number_format 金額にカンマ
php フォーマット money_format
金額を表示したい場合などに使う。
参考
money_format — 数値を金額文字列にフォーマットする
数値を金額文字列にフォーマットする
php 携帯振り分け useragent
携帯判別
<?php
$agent = $_SERVER[‘HTTP_USER_AGENT’];
if(ereg(“^DoCoMo”, $agent)){
echo “DOCOMOです”;
}else if(ereg(“^J-PHONE|^Vodafone|^SoftBank”, $agent)){
echo ” softbankです”;
}else if(ereg(“^UP.Browser|^KDDI”, $agent)){
echo “auです”;
}else{
echo “その他です”;
}
?>
参考
クローラー IP
- Y!J-DSC
- Y!J-VSC/ViSe
- Y!J-PSC
- Y!J-NSC/1.0
- Y!J-SRD/1.0
- Y!J-BRG/GSC
- Y!J-BRI
- Y!J-BRE
- Y!J SearchMonkey/1.0
- Y!J-BRO/YFSJ
- Y!J-BRP/YFSBJ
- Y!J-BRQ/DLCK
Bingクローラー
携帯クローラー
google
Google のモバイル クロールでは、「Googlebot-Mobile」という文字列を含む user-agent ヘッダーが送信されます。
Google のモバイル クロールでは以下の IP アドレス帯域を利用します。
- 72.14.199.0/25 (72.14.199.0 – 72.14.199.127)
- 209.85.238.0/25 (209.85.238.0 – 209.85.238.127)
モバイル版Yahoo!検索の検索エンジン(クローラー)について
【User Agent (ユーザーエージェント)】
クローラーのユーザーエージェントの共通部分
- Y!J-SRD/1.0
- Y!J-MBS/1.0
124.83.159.146 ~ 124.83.159.185
124.83.159.224 ~ 124.83.159.247
yahoo モバイルにインデックスされるには
php 正規表現 メールアドレス
メールアドレスチェック
<?php
$mail = “aaa@aaa.aa”;
if(!ereg(‘^[-!#$%&\’*+\\./0-9=?A-Z^_`a-z{|}~]+’.’@’.'[-!#$%&\’*+\\/0-9=?A-Z^_`a-z{|}~]+\.’.'[-!#$%&\’*+\\./0-9=?A-Z^_`a-z{|}~]+$’,$mail))
{
echo “正しくありません”;
}else{
echo “正しいです”;
}
?>
参考
ガンブラー
MySQL varchar型をソートするには CAST(キャスト)
MySQLでvarchar型(文字など)をソートするにはCAST(キャスト)を使う
SELECT no, value FROM test ORDER BY CAST(value AS signed);
いま平成何年?西暦和暦の年や干支日付け表示
西暦和暦月日付け干支を表示させる(http://patareru.net/nen/index.php)
$today = getdate();
$year = $today[year];
$eto = array(“子(ねずみ)”,”丑(うし)”,”寅(とら)”,”卯(うさぎ)”,”辰(たつ)”,”巳(み)”,”午(うま)”,”未(ひつじ)”,”申(さる)”,”酉(とり)”,”戌(いぬ)”,”亥(い)”);
$eto1 = $eto[($year % (12-4))];
if ($year >= 1989){
echo “平成”.($year-1988).”年(干支 $eto1 どし)
“;
} elseif (1926 <= $year and $year <= 1988){
echo “昭和”.($year-1925).”年(干支 $eto1 どし)
“;
} elseif (1912 <= $year and $year <= 1987){
echo “大正”.($year-1911).”年(干支 $eto1 どし)
“;
} else {
echo “明治”.($year-1867).”年(干支 $eto1 どし)
“;
}
print(” (西暦 $today[year]年)$today[mon]月$today[mday]日”);
//曜日番号に対応する日本語の曜日リスト
$weekjp_array = array(‘日’, ‘月’, ‘火’, ‘水’, ‘木’, ‘金’, ‘土’);
//今日の曜日
$weekno = date(‘w’);
$weekjp = $weekjp_array[$weekno];
echo “($weekjp)曜日 “;
?>
参考
干支を求める