記事No | : 15043 |
投稿日 | : 2016/07/28(Thu) 07:53:52 |
タイトル | : フォームの項目の内容をメールの件名に反映 |
ID情報 | : motokk |
投稿者 | : motokk |
URL | : http://www.kent-web.com/support/oldlog/0006/0371.html |
フォームの入力項目の内容を
メールの件名に反映させることを考えているのですが
過去の記事
http://www.kent-web.com/support/oldlog/0006/0371.html
には「それは、セキュリティ上の観点からできません。」
とありました。
それは具体的にはどういうことなのでしょうか?
技術的には可能なのでしょうか。
記事No | : 15044 |
投稿日 | : 2016/07/28(Thu) 12:35:20 |
タイトル | : Re: フォームの項目の内容をメールの件名に反映 |
ID情報 | : teketen |
投稿者 | : てけてん |
> 技術的には可能なのでしょうか。
可能です。
> それは具体的にはどういうことなのでしょうか?
こちらのページをご覧になって下さい。
http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/201.html
ようは、「外部からの入力をそのまま件名にしない」ということなので、上記対策として、現在、postmailとclipmailでは、init.cgiで
# メール件名の外部指定(任意オプション)
# → 複数のフォームメールで運用する場合、タグで件名指定する
$cf{multi_sub} = {
1 => '資料請求フォーム',
2 => 'ご注文フォーム',
3 => 'ご感想連絡フォーム',
};
を設定して、送信フォームでは、name値をsubjectにして、value値を
1 => '資料請求フォーム',
ならば、1を設定すれば(<input type="hidden" name="subject" value="1"> )、「資料請求フォーム」の件名でメールを送信できます。
左の数字がvalue値になります。
3つ以上指定したい場合は、
4 => '質問',
5 => 'その他',
のように増やせばよいです。
もしも、一つのフォームから、件名をユーザーに選択させるようにするのなら、設定で指定した数字と件名が対になるように記述します。
勿論、設定で指定したものをすべて記述する必要はありません。
例:
<select name="subject">
<option value="1" selected>資料請求フォーム</option>
<option value="2">ご注文フォーム</option>
<option value="3" selected>ご感想連絡フォーム</option>
</select>
でも、このことについて、KENTさんはスクリプトの解説ページや設定部分で説明していないんですよね。
記事No | : 15050 |
投稿日 | : 2016/07/31(Sun) 12:15:59 |
タイトル | : Re^2: フォームの項目の内容をメールの件名に反映 |
ID情報 | : motokk |
投稿者 | : motokk |
URL | : http://www.kent-web.com/support/oldlog/0006/0371.html |
ありがとうございます。
返信がおそくなりすいません。
一応自分が理解できた範囲で言いますと
「それは、セキュリティ上の観点からできません。」というのは
フォームの入力項目の内容をメールの件名に反映させるようにすると
第三者にフォームを操られるようになってしまう
という理解でよろしいでしょうか。
また、
>可能です。
というのは件名を選択項目にするのは可能ということでしょうか。
入力した値をそのまま反映したいのですが
そういうのはやはりセキュリティ上危険ということでしょうか。
記事No | : 15051 |
投稿日 | : 2016/07/31(Sun) 13:45:30 |
タイトル | : Re^3: フォームの項目の内容をメールの件名に反映 |
ID情報 | : teketen |
投稿者 | : てけてん |
> 第三者にフォームを操られるようになってしまう
> という理解でよろしいでしょうか。
その可能性があるということですね。
セキュリティ対策の甘いスクリプトの場合、より可能性が高いです。
> というのは件名を選択項目にするのは可能ということでしょうか。
いえ、セキュリティを配慮しなければ、
> 入力した値をそのまま反映したいのですが
が、可能ということです。
10年くらい前は、あまりセキュリティにうるさくなかったので、KENTさんのメールスクリプトでも、以前のバージョンでは可能でしたし。
但し、件名の入力検査はされていました。
現在、KENTさんのスクリプトで行えないのは、やはり対策漏れの心配をされたからでは、ないでしょうか?
少しでも不安が残るのなら、出来なくした方が安心ですから。
> 入力した値をそのまま反映したいのですが
> そういうのはやはりセキュリティ上危険ということでしょうか。
そうですね。
出来ればやらない方が良いです。
そのまま反映したいのなら、先にご紹介した参考ページに書かれてる
> もし外部からのパラメータを使用する場合には、その入力検査を厳しく行うべきであり、また悪用される事を想定して、その旨の案内文も記載する。
のように、スクリプトで入力検査を厳しく行う(件名に改行が含まれているかをチェックするだけでは、駄目ということですね)必要があると思います。
また、そのことで何かあった時に、ご自分で対応できることを前提で、行う必要があると思います。
そして、申し訳ありませんが、KENTさんのサポート掲示板では、この件についてこれ以上の回答は出来ないと思います。
過去ログで、KENTさんが
> それは、セキュリティ上の観点からできません。
と書かれているので。
私からは、以上です。
記事No | : 15057 |
投稿日 | : 2016/08/02(Tue) 07:52:20 |
タイトル | : Re^4: フォームの項目の内容をメールの件名に反映 |
ID情報 | : motokk |
投稿者 | : motokk |
URL | : http://www.kent-web.com/support/oldlog/0006/0371.html |
特に一般公開して使用するつもりではないので
やる方向で考えているのですが
一応以上のことも踏まえ検討していきたいと思います。
色々ありがとうございました。