PHP Ver 5


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

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2009/07/31 09:35:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント27pt

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

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


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

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

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

      $_SESSION = array();
      $user = $_SESSION['username'];
      $key = md5(rand()) = $_SESSION['loginid'];//ここはもっと複雑にしてあります。
id:esecua

>そもそも loginkey とやらが

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

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

2009/07/24 10:26:00
id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント27pt

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


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

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

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

id:b-wind No.3

回答回数3344ベストアンサー獲得回数440

ポイント26pt

>そもそも loginkey とやらが

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

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

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


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

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

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

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

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

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 TomoTana 8 7 2 2009-07-24 11:21:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません