
プログラムど素人です
いくつか質問させてください
自分自身に対して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ランキング
-
GETメソッドで文字列として+を...
-
変数について
-
wordpressのテーマSightの日付表示
-
問題部分がJavascriptかPHPか分...
-
phpの警告
-
php→mysqlへの接続が出来ない(...
-
<A HREF="bg.php" target="_bl...
-
functionに括弧を使用するとエラー
-
3人の旅人が
-
このサイトの作成技術は何ですか?
-
設定した時間だけ実行されるプ...
-
コメントフォームの設定方法
-
O/Rマッパーの選定
-
HTMLについて質問ですが。
-
メールを受信で文字化け
-
メール送信できない
-
nl2bの代用関数を何か知ってい...
-
PHPのインストールで
-
携帯サイト制作をしておりまし...
-
特定のURLに移動するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データ送信をボタンを押さずに...
-
form actionで二つ送信先を指定...
-
inputタグでphpを呼び出す際、...
-
【PHP】ページを更新すると勝手...
-
PHP table内、<a href使って su...
-
ボタンのクリック数を合計保存...
-
フレームを二つ同時に変更する
-
PHPにおけるCookieの挙動につい...
-
PEAR Image_QRCodeのエラー
-
phpでcookieをセットする方法
-
PHP,HTMLの値の引き渡しについて
-
携帯サイトでフォームタグとラ...
-
xamppでformによるデータの送信...
-
PEARのAuthを勉強中です
-
WORDPRESS カスタム投稿 カス...
-
Winsockでステータスコードを受...
-
GET変数の区切り文字について
-
セキュリティについて
-
テキストボックスにデータベー...
-
phpのプリペアドステートメント...
おすすめ情報