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

PHP Ver 5

PHPのセキュリティに関しての質問です。

質問が長くなりましたので、 http://d.hatena.ne.jp/esecua/20090724 をご覧下さい。

●質問者: esecua
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP セキュリティ
○ 状態 :終了
└ 回答数 : 3/4件

▽最新の回答へ

1 ● b-wind
●27ポイント

これだけのコードだと、セキュリティ上の問題が有るかどうかは判断しにくい。

一見したところ特に問題無さそうではあるが。


どちらかというと typo らしきところが目立つのと、そもそも loginkey とやらが

サーバー側だけで完結しているので認証としては意味がないところぐらいか。

まぁ、システムの別のところで使用しているのならいいんだけど。

 $_SESSION = array();
 $user = $_SESSION['username'];
 $key = md5(rand()) = $_SESSION['loginid'];//ここはもっと複雑にしてあります。
◎質問者からの返答

>そもそも loginkey とやらが

>サーバー側だけで完結しているので認証としては意味がないところぐらいか。

もう少し詳しく御願いします。


2 ● pahoo
●27ポイント

かなり省略されたソースなので的を外したらごめんなさい。


生のままのパスワードが通信経路上を行き来し、DBに登録されているように見えることが気になりました。

SSL通信で暗号化しないとパスワードを盗聴される恐れがあることと、DBを奪われた場合の被害が甚大になることがリスクです。

一般的な回避策としては、パスワードは送信前に(クライアント側で)ハッシュ化し、DB側のハッシュ値とマッチングさせます。


3 ● b-wind
●26ポイント

>そもそも loginkey とやらが

>サーバー側だけで完結しているので認証としては意味がないところぐらいか。

もう少し詳しく御願いします。

詳しくも何も、解説して意味があるほどの情報が提供されていないんだが。


この手のキーを使う場合ブラウザから送信されたデーターとサーバー側で持っているデータを照合することで認証につかう事になる。

で、現状出しているソースからはブラウザから送信されたデータを受け取っている部分は見られない。

また、$_SESSION 変数は、ブラウザの Cookie と紐付くデータを格納しているわけで。

$_SESSION 変数にデータを格納してそのまま取り出すのはブラウザの Cookie 情報をそのまま信用していることに他ならない。

別にそれが悪い事じゃないけど、1つの情報から2つの管理データを引き出しているわけで何の意味があるのか分からないってだけ。

関連質問


●質問をもっと探す●



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