人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのプログラマーに質問です。
開発時にセキュリティ関連の配慮はどのようにしているか
教えてください。
あと失敗談なんかも教えて頂ければと思います。

●質問者: mkusume
●カテゴリ:インターネット ウェブ制作
✍キーワード:いるか セキュリティ プログラマー HP
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● ymlab
●20ポイント

PHPプログラマというほどではないですが・・・・。

開発時は、一番簡単なところでは、

$_REQUEST等で、取得する際、サニタイズすることでしょうか。

また、個人情報などの入力を促す際は、httpsにしておく。

ファイルのアップロードなど、特にファイル処理の場合は、

・ヌルバイト攻撃を避けるために、\0を置換する。

・アップロードしたファイルを読み込む時に、拡張子が、そのサーバで実行できる形式の場合は、拡張子を置換したり、

ダウンロードできる形に設計する。

くらいです。

失敗談。

・サニタイズするための関数をinclude 先のファイルの、さらに先のinclude先のところに定義してあり、

表示時間にロスがあった。

・ファイルをアップロードして、そのままリンクを貼って、表示できるようにしていた。

ある日、phpのソースコードをアップロードして、表示されたリンクをマウス押下したら、

ソースコードではなくて、プログラムが実行されてしまった。

[おかげで、その日一日、別の仕事をしないといけませんでした。]

URLが必須なので、

PHPサイバーテロの技法―攻撃と防御の実際

PHPサイバーテロの技法―攻撃と防御の実際

  • 作者: GIJOE
  • 出版社/メーカー: ソシム
  • メディア: 単行本

を紹介しておきます。

これは、私のレベルでは本当にためになりました。


2 ● KUROX
●20ポイント

・register_globals = off

・SQL インジェクション

SQLに流すパラメータが、POST(GET)データの場合は要注意

http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html


3 ● minkpa
●20ポイント

http://www.microsoft.com/japan/learning/books/JPN_ViewMsPress.as...

プログラマのためのセキュリティ対策テクニック


4 ● shotets
●20ポイント

上記の方々とかぶるかもしれませんが、

などですかね。

http://dummy.jp/


5 ● wdc
●20ポイント

最初にphp.iniを確認します。

レンタルサーバだといまひとつな設定の場合がありますので、

それらはスクリプトの先頭かまたは.htaccessで上書きします。


この辺を主に確認します。

それからスクリプトを書き始めます。

スクリプトはUTF-8またはEUC-JPにします。


html出力の際に

htmlspecialchars($str, ENT_QUOTES); を必ず使います。


DBに突っ込む前に

mysql_real_escape_string($str); を(MySQLの場合)必ず使います。


で、こいつらはスペルが長くてうっとうしいので、

自前でラッパ関数を用意しておけば多少楽になります。

例えばこんな感じで

// htmlspecialchars 簡略化

function clean($str) {

$str = htmlspecialchars($str, ENT_QUOTES);

return $str;

}


あと、なんだろう。

ここの他の方のレス見て勉強させてもらいます(^^ゞ



PHP と Web アプリケーションのセキュリティについてのメモhttp://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html

サイバーテロ本のほとんどはここのサイトで網羅されています。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ