Webデザイナが知っておくべきPHPセキュリティ
だいたいわかったPHP。だけどもう一つ大切なことがある。それがセキュリティだ。
ここまでの連載で、PHPがデザイナにとっても決して難しいものではなく、むしろ便利に使えるものであることを紹介した。少しでも恐怖感やアレルギー感がなくなっていただけると幸いである。
ただし、あまり身近に感じすぎてしまうのも逆に危険が伴う。
スクリプトは、ご存じの通り何でも作ることができてしまうため、Webサーバーに大きな負担をかけたり、場合によっては壊してしまうようなスクリプトさえできあがってしまうことがある。
また、正しい知識を持って作らなければ「セキュリティホール」が存在することになってしまい、クラッカーと呼ばれる悪意を持ったユーザーによって、個人情報が盗まれたり、Webサイトを改変されたりする可能性もあり得る。
そこで、今回はそんなセキュリティの知識を紹介していこう。
無限ループ
次のようなスクリプトを見てみよう(実際に動作させないでください)。
<?php
$count = 1;
while($count <= 10) {
$coun = $count + 1;
echo $count;
}
?>
このスクリプト、一見すると大した内容ではない。「$countという変数が10になるまで1ずつ加算して、画面に表示する」というスクリプトだ。「while」というのは「繰り返す」という意味のスクリプトで、特定の条件が満たされるまでスクリプトを何度も動作させることができる。
ただし、上記のスクリプト。実は次の部分でスペルミスを犯している。
$coun = $count + 1;
これにより、正しい処理が行われずに「while」の終了条件であるはずの「10になるまで」という条件が永遠に満たされない状態となる。そのため、このスクリプトは終わらない「無限ループ」という状態に陥ってしまうのだ。
すると、Webサーバーは意味のないスクリプトを動作させ続け、非常に負担の大きい状況になってしまう。
このように、スクリプトはたった一文字間違えただけでも、意図しない動作になるばかりか、Webサーバーに負担をかけてしまったり、閲覧者に迷惑をかけることになるので気をつけよう。
- コメント(8件)
#1 大野晋一
- 2008/04/10 14:18:17
#2 h2ospace
- 2008/04/10 18:56:57
#3 がる
- 2008/04/19 01:46:29
- 特集: WebデザイナのためのPHP入門 (4件)
- 今日のトップ記事
- 昨日
- 3日前
- 4日前
- 5日前
- 7日前
- ホワイトペーパー
- 話題のタグ
#8
仮想化Java環境のスループットを2倍に--BEA LiquidVMの適応型メモリ管理
Firefox 3が対応したdisplayプロパティの値(3) - inline-table
MSもアドビも学生さんに開発ソフトを無償提供
「Economist」のトップページがリニューアル
あなたがプログラムを理解できない10の理由:第2回
新APIまもなく登場--Google Developer Day 2008の見所とは?
-Simplify IT- ITをシンプルに 連載第2回
リスティング広告における競争優位性の維持
内部統制対策を実現するIT運用管理ツール