どうしても、方法が分からず投稿しました。
会員にメール送信するプログラムですが、一部のチェックを入れた会員だけ
に送信するプログラムを作ろうとしています。
チェックボックスのvalueに$col[email]という変数を用いてデータベース
にあるメールアドレスを一度ループをかけてチェックボックスに表示します。
チェックボックス表示されたメールアドレスの中で、チェックの入っている
アドレスだけにメールを送りたいのです。そこで、配列にして破線下のように
してcheckboxのvalue値がどうなっているのか確かめてみると、$col[email]の
ように表示されます。なんとか、$col[email]に代入された内部のメールアドレス
を取り出したいのですが、詳しい方宜しくご指導お願いいたします。
$sql="SELECT simei,email FROM ********";
$res=mysql_query($sql);
print '<font size="1">';
print '<form method="post" action="<?=SEVER[PHP_SELF]?>" name="address">';
print '<center><input type="button" onClick="submit()" name="sousin" value="チェック""></center><br>';
$i=0;
while($col=mysql_fetch_array($res)){
$simei=mb_convert_encoding($col[simei],"SJIS","EUC");
print '<input type="checkbox"checked name="chek[]" value="$col[email]">';
print $col[email]."[".$simei."]<br>";
}
---------------------------------------------------------------------------
$checkbox=$_REQUEST["chek"];
for($i=0;$i<sizeof($checkbox);$i++){
print $checkbox[$i];
print "<br>";
}
No.3
- 回答日時:
>> クロスサイトスクリプトの餌食とありますが、どういう意味なのでしょうか。
初心者が陥りやすい 昔から有名な脆弱性の一つです。
Cookie情報の盗み取りやフィッシングサイトへの誘導などに利用されます。
対策方法などは、下記ページなどを参照してください
http://www.phppro.jp/phptips/archives/vol5/3
「PHP_SELF XSS」でWEB検索すれば他にも説明は見つかると思います。
No.2
- 回答日時:
$_SERVERはユーザー入力とは無関係だからクロスサイトスクリプティング脆弱性にはなりません。
まあ、そんな判断をせず、「原則すべての画面出力は事前にHTMLエスケープをすべき」なのですが。
氏名とメールアドレスを画面に出力する部分のほうは問題です。
氏名に「<font size="10">田中山田田吾作乃進</font>」と打ち込まれる可能性は考慮していますか?
メールアドレスに「">でもそんなの関係ねえ!<"」とか書かれたら文字列が表示されたりしませんか?
登録側で別途処理を行なっているならば安全なのですが。
No.1ベストアンサー
- 回答日時:
>> print '<input type="checkbox"checked name="chek[]" value="$col[email]">';
上記を
print '<input type="checkbox"checked name="chek[]" value="'.$col[email].'">';
に変更すれば中身が見えるようなりますが、
メールアドレスを公開しても問題無いのですか?
また、下記の部分はクロスサイトスクリプトの餌食ですが問題ありませんか?
>> action="<?=SEVER[PHP_SELF]?>"
出ました~~!ありがとうございます^^。非常にうれしいです。
まだ、PHP勉強して日も浅いので良く分からないのですが、
クロスサイトスクリプトの餌食とありますが、どういう意味なのでしょうか。もしよければ教えていただければありがたいです。
action="<?=SEVER[PHP_SELF]?>"のところは、action="****.php"と
しかり書いたほうが良いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで画像の渡しが上手く行きま...
-
【HTML(PHP?)】複数のフォーム...
-
アンケートフォームの作り方
-
複数チェックボックスの入力制...
-
検索時の選択内容を保持する方法
-
フォームへの前回入力値をクリ...
-
フォームの内容をクッキーに保...
-
フォームでのリセットを使う方法
-
PHPでCookieを使った訪問回数に...
-
XMLデータをPOSTで送信・受信す...
-
<input type="hidden" >で配列...
-
ラジオボタンをsessionで使いたい
-
フォームボタンを押すたびに数...
-
PHPでユーザー情報を入力して簡...
-
PHPでクリックするたびに変数を...
-
PHPとHTML+Xamppの掲示板で画像...
-
プログラミング言語で、使える...
-
[Ethna]selectボックスに空値を...
-
phpで掲示板を作りたい
-
アマゾンのような評価の星を選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
HTMLで前の画面に戻る時、入力...
-
PHPでユーザー情報を入力して簡...
-
PHP ボタンが押されたら処理を...
-
PHPとHTML+Xamppの掲示板で画像...
-
syntax error, unexpected '}' ...
-
検索時の選択内容を保持する方法
-
PHPでCookieを使った訪問回数に...
-
チェックボックスによる検索
-
フォームでのリセットを使う方法
-
PHPで画像の渡しが上手く行きま...
-
チェックボックスによる検索(...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
php mysql でチェックボックス...
-
PHPの関数実行
-
phpで分からないエラーが出てし...
-
PHPで、ボタンを押すと同じペー...
-
ラジオボタンをsessionで使いたい
-
入力フォーム→確認画面→送信画...
おすすめ情報