- ベストアンサー
セキュリティに関する質問
- セキュリティについての質問について解説します。自己ポストやファイル名指定に関して注意点があります。
- セキュリティに関する質問について解説します。フォームの送信ボタンに関してもセキュリティ対策が必要です。
- セキュリティについての質問について解説します。自己ポストやファイル名指定、javascriptの使用には注意が必要です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
スクリプトで決まった内容を展開するのであれば(ユーザーの入力値を扱うのでなければ)「送る側」を気にする必要はありません。 問題は「受け取る側」です。 どうやってhtmlを生成しようがJavaScriptを絡めようが、想定していないパラメータが(GETでもPOSTでも)送られてくることはあります。当然ですが想定していないものは不正アクセスとして処理するようにしなければいけません。
その他の回答 (2)
- gogogogoogoo
- ベストアンサー率24% (9/37)
>例えばこんな感じでgetを自分自身に送ってもセキュリティ的に大丈夫でしょうか? <a href="hoge_list.php?mode=desc">投稿の新しい順</a> htmlの埋め込みのこれ簡単に書き換えれるぞ。 FireFox+FirebugなどでだからPOSTで送ろうがGETで送ろうがチェック処理は絶対に必須。 それと、GETのhoge_list.php?mode=descこれ。アドレスパーに貼り付けて書き換えたら 簡単にGETパラメータ送信できること理解できる?
お礼
回答ありがとうございます 質問にコードを書くべきでしたすいません getの値を変更してきてもチェックしてはしています これでXSS対策は大丈夫でしょうか? if(isset($_REQUEST['mode']) && is_string($_REQUEST['mode'])){ $mode = htmlspecialchars($_REQUEST['mode'], ENT_QUOTES); }else{ $mode=''; } if($mode=='desc'){ 処理 }
- yambejp
- ベストアンサー率51% (3827/7415)
質問の意図がいまいち読めませんが ><form method="post" action="<?php echo hoge.php ; ?>"> <form method="post" action="hoge.php"> で十分では?そもそも「echo hoge.php」という書き方をする意味がわからない >header("Location: hoge.php?msg={$msg}"); headerで自分自身を読むとループしませんか? かりに特定の条件時のみ適用するのでループしないとして $msgは$_GETなどで参照していませんが、どこから持ってきているのでしょうか?
お礼
回答ありがとうございます <form method="post" action="hoge.php">で十分でした。すいません ループになっちゃってました。すいませんorz 例えばこんな感じでgetを自分自身に送ってもセキュリティ的に大丈夫でしょうか? <a href="hoge_list.php?mode=desc">投稿の新しい順</a>
お礼
回答ありがとうございます つまり、ページングなどのパラメータも含めて、全てのgetやpostにhtmlspecialchars($_REQUEST['mode'], ENT_QUOTES);をしておけばxssは防げるのでしょうか?