KENT-WEB サポートコーナー 過去ログ [ 0359 ]


記事No: 15043
投稿日: 2016/07/28(Thu) 07:53:52
タイトルフォームの項目の内容をメールの件名に反映
ID情報: motokk
投稿者: motokk
URLhttp://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
URLhttp://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
URLhttp://www.kent-web.com/support/oldlog/0006/0371.html

特に一般公開して使用するつもりではないので
やる方向で考えているのですが
一応以上のことも踏まえ検討していきたいと思います。

色々ありがとうございました。


[検索ページ] [掲示板]