アジャイル,Trac,オープンソースなどの話。認定スクラムマスター。Twitterは@ryuzee
相も変わらず酒を飲んだあとで戯言をたれてみる。
2/23に公開されている@ITの「PHPプログラミングの基礎を学ぼう(1/2)」という記事を見た。
内容は・・・・これやばいです。この通り素人プログラマがプログラムを書くと、セキュリティ上問題がある。とりあえず気がついた点で指摘してみる。
PHPは、HTMLテキストのデザインを崩すことなくコード埋め込むことができるため、プログラマーだけでなく本格的なプログラミング経験がないWebデザイナーなどからも支持されています。
ダウト。HTMLテキストのデザインを崩すことなく、ということを求めるのであればテンプレートエンジンを求めるべきで、例示されているhtmlタグの中でprintするのはおかしい。
<?php
print $_POST["input1"];
print $_POST["input2"];
?>
ダウト。これ絶対真似してはいけません。入力画面でhtmlタグを入れられるとそのまま通過してそいつが表示されます。ユーザが入力してくるデータは常にチェックを行うべきで、それを習慣にしないといけない。
また、データ内容を簡単に盗み見ることができるため、通常はPOSTメソッドの使用をお勧めします。
こいつもダウト。GETでも単なる定型のデータ検索処理などではまったく問題ではない。またデータの盗み見はパケットキャプチャリングなのか、その他の方法なのかに関しての記述がない。重要なデータをGETで渡した場合の問題は、リファラなどでパラメータの内容が外部に流出すること、アクセスログなどに機密情報が記載されることであるので、その旨記載すべきであろう。なお本質的な対応であれば、POSTにした上でSSLを使うべきだ。
次に2ページ目。
しかし、本連載ではコードの可読性を重視するため、JavaScriptによるチェックを主に用いています。
ダウト。どうせ似たようなコード量になる。なぜここまで分かっていてPHP側でやらないのか?意味不明。
あーあ。なんだかなー。
コメントはありません。是非コメントしてください。