![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
プログラムど素人です
いくつか質問させてください
自分自身に対してpostやgetする場合、セキュリティは大丈夫でしょうか?$_SERVER['PHP_SELF']を使うと危ないときいたので気になっています
下記の場合はどうですか?自分自身にポストする場合はファイル名で指定しても大丈夫ですか?(hoge.phpは自分自身)
<form method="post" action="<?php echo hoge.php ; ?>">
getで自分自身に送るときはファイル名で大丈夫でしょうか?
header("Location: hoge.php?msg={$msg}");
もう一つ、フォームの送信ボタンをjavascriptのdocument.writeで表示してもセキュリティ的に問題ないでしょうか?(変なロボットがくるのでその対策です。javascriptはよみこんでないようなので)
document.write('<input type="submit" value="書き込む" />');
よろしくお願いします
No.3ベストアンサー
- 回答日時:
スクリプトで決まった内容を展開するのであれば(ユーザーの入力値を扱うのでなければ)「送る側」を気にする必要はありません。
問題は「受け取る側」です。
どうやってhtmlを生成しようがJavaScriptを絡めようが、想定していないパラメータが(GETでもPOSTでも)送られてくることはあります。当然ですが想定していないものは不正アクセスとして処理するようにしなければいけません。
回答ありがとうございます
つまり、ページングなどのパラメータも含めて、全てのgetやpostにhtmlspecialchars($_REQUEST['mode'], ENT_QUOTES);をしておけばxssは防げるのでしょうか?
No.2
- 回答日時:
>例えばこんな感じで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'){
処理
}
No.1
- 回答日時:
質問の意図がいまいち読めませんが
><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>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FORMで送信ボタンと戻るボタン...
-
データ送信をボタンを押さずに...
-
PHPとCSVで簡易データベースな...
-
form actionで二つ送信先を指定...
-
xamppでformによるデータの送信...
-
WordPressで完全一致検索
-
multipart/form-dataを使ったデ...
-
「 '&lng='」の&の意味が分か...
-
ボタンのクリック数を合計保存...
-
リンクでキーワードを渡すには...
-
【BAT(バッチ)ファイル】Web...
-
PHP8を使うと、大量のWarningが...
-
onedrive にexcelファイルをア...
-
文字化けに関して
-
ヒアドキュメントを中断してinc...
-
文字化けについて
-
空メールの作り方教えて欲しい...
-
透過PNGが透過されない!!
-
「localhostの応答を待っていま...
-
携帯で、phpページからhtmlペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
form actionで二つ送信先を指定...
-
データ送信をボタンを押さずに...
-
PHPでε(イプシロン)のような...
-
FORMで送信ボタンと戻るボタン...
-
inputタグでphpを呼び出す際、...
-
別のファイルへ値を受け渡す方法
-
テキストボックスにデータベー...
-
ボタンのクリック数を合計保存...
-
リクエストメソッド
-
PHPとCSVで簡易データベースな...
-
【PHP】ページを更新すると勝手...
-
Auth認証エラー
-
multipart/form-dataを使ったデ...
-
PEARでのAuth認証について
-
ワンクリックしかできないクリ...
-
PEAR Image_QRCodeのエラー
-
戻れないです
-
header(Location: next.php) だ...
-
リンクでキーワードを渡すには...
-
【初歩】ログアウトを【2回押さ...
おすすめ情報