質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Q&A

解決済

3回答

1090閲覧

ユーザーIDをGETパラメータとして付与して情報を表示させるのは大丈夫か?

coco144

総合スコア11

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

0グッド

1クリップ

投稿2020/04/18 15:30

編集2020/04/19 02:23

例えばユーザー同士が商品の売買をできるようなサイトがあるとします。
自分ではないユーザーの名前をクリックすると、遷移したページでそのユーザーが出品した商品一覧を見られるようにする場合、
GETパラメータとしてユーザーIDを付与して遷移し、遷移した先でGETパラメータを元にユーザーの情報を絞り込んで表示させたいと考えています。
そこで、ユーザーIDをGETパラメータとして付与するのはセキュリティ的に問題ないのか質問させてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/04/18 20:59

「セキュリティー」タグを付けてください。言語もPHPに限らないほうが良いかと思います。
guest

回答3

0

その様なケースではGETでもPOSTでもセキュリティ上の違いはありません。

(セキュリティ上の理由では無いですが、)むしろGETを使う方が望ましいケースだと思われます。

投稿2020/04/18 15:51

tanat

総合スコア18716

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco144

2020/04/19 02:28

ありがとうございます! 自信がなかったので心強い回答をいただけて良かったです。
guest

0

ベストアンサー

あまり問題になるケースが思い浮かびません。
「このユーザーの情報を見る」と一意な情報が必要な仕様であるわけですから、どうにかこうにか渡さなければなりません。
GETのようにURLに持たなかったとしても、HTMLにはどこかに現れる形になります。
となると、「そもそも他のユーザーの情報を見れるようにしているのが間違い」にもなり得ます。
ただ、teratailもユーザーの情報はユーザー名が分かれば誰でもユーザー情報を確認できます。URL直打ちでいけるので、GETです。
先にあるアドバイスのようにSQLインジェクション対策を施した上で「他のユーザーに見せる情報、見せない情報」をきちんと精査して(またはユーザー側で設定させて)おけば問題ないのではないでしょうか。

アプリケーションを作られている方でも「問題でそうなケース」を考えてみては。

投稿2020/04/18 21:15

m.ts10806

総合スコア80861

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco144

2020/04/19 02:26

ありがとうございます。 自分では問題ないかな?と思っても自信がなかったため、回答いただけてありがたいです。 teratailもそうなのですね。確認してみます! SQLインジェクション対策についても勉強してきます!
m.ts10806

2020/04/19 03:16

「問題がでそうなケース」から考えてみると良いです。「自分が悪意あるユーザーならどう攻めるか」みたいな。 ただ、本当にやるならきちんとセキュリティのコンサルに入ってもらうべきですけどね。
guest

0

ユーザーデータ取得のSQL文で、
SQLインジェクションの対策を施せば
GETのパラメータでユーザーIDを渡しても問題ないです

投稿2020/04/18 18:09

akkman

総合スコア254

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco144

2020/04/19 02:27

SQLインジェクション対策ですね! 改めて勉強が必要だなと思いました。教えて頂きありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問