記事No | : 500 |
投稿日 | : 2007/05/07(Mon) 16:38:40 |
タイトル | : POSTMAILでURLを送りたいが? |
ID情報 | : ghyuji |
投稿者 | : GEO |
URL | : http://dogs-on-garden.com/ |
ver = 'postmail v3.41'のPOSTMAILを利用させていただきたいのですが、巧くいきません。
テキストボックスに入力されたアドレスへ、指定のURLを送信したいのですが、空メールが届いてしまいます。
HTMLの一部はFORM部の通りです。
--------------------------------------------
<form name="form1" method="post" action="http://dogs-on-garden.com/cgi/docomo/postmail.cgi?"><p><span class="Time12">
<input name="_email" type="text" class="Time12" id="送信先" size="50" maxlength="50"></span>
<input name="web" type="hidden" class="Time12" value="http://dogs-on-garden.com/epad/epad.cgi">
<input type="submit" name="submit" value="送信"></p> </form>
------------------------------------------------------
CGIの設定は下記の通りで、特に変更はしておりません。
#-------------------------------------------------
# ▼基本設定
#-------------------------------------------------
# 文字コード変換ライブラリ
require './jcode.pl';
# MIMEエンコードライブラリを使う場合(推奨)
# → メールヘッダの全角文字をBASE64変換する機能
# → mimew.plを指定
$mimew = './mimew.pl';
# メールソフトまでのパス
# → sendmailの例 :/usr/lib/sendmail
# → BlatJの例 :c:\blatj\blatj.exe
$mailprog = '/usr/sbin/sendmail';
# 送信先メールアドレス
$mailto = 'xxx@xxx.xxx';
# 入力フィールドあたりの最大容量(バイト)
# *参考 : 全角1文字 = 2バイト
$max_field = 100;
# 送信前確認
# 0 : no
# 1 : yes
$preview = 1;
# メールタイトル
#$subject = 'フォームメール';
$subject = 'DOG店舗状況';
# 本体プログラムURL
$script = './postmail.cgi';
# 確認画面テンプレート
$tmp_conf = './tmp_conf.html';
# 一般エラー画面テンプレート
$tmp_err1 = './tmp_err1.html';
# 入力エラー画面テンプレート
$tmp_err2 = './tmp_err2.html';
# 送信後画面テンプレート
$tmp_thx = './tmp_thx.html';
# 送信後の形態
# 0 : 完了メッセージを出す.
# 1 : 戻り先 ($back) へ自動ジャンプさせる.
$reload = 0;
# 送信後の戻り先
# → http://から記述する
$back = 'http://www.xxx.xxx/';
# 送信は method=POST 限定 (0=no 1=yes)
# → セキュリティ対策
$postonly = 1;
# アラーム色
$alm_col = "#dd0000";
# ホスト取得方法
# 0 : gethostbyaddr関数を使わない
# 1 : gethostbyaddr関数を使う
$gethostbyaddr = 0;
# 送信元へ控え (CC) を送る
# 0=no 1=yes
# *セキュリティ上この機能は推奨しません.
# *name="email" のフィールドへの入力が必須となります.
----------------------------------------------
ご指導よろしくお願いいたします。
記事No | : 501 |
投稿日 | : 2007/05/07(Mon) 16:56:50 |
タイトル | : Re: POSTMAILでURLを送りたいが? |
ID情報 | : ghyuji |
投稿者 | : GEO |
URL | : http://dogs-on-garden.com/ |
申し訳ありませんが、セキュリティの為、hiddenで送信先を渡す方法をアドバイスすることは出来ません。
フォームから送信先を渡すと言うことは、誰にでもそのフォームを使って特定の人物にメールを送信できると言うことです。
この改造されたCGIスクリプトから、悪意のある第三者がスパムメールを送信しないとは限りません。
値をhiddenで渡しても、input type="text"で渡しても同じなのです。
過去ログから下記のような記事を見つけました。
特定のURLだけを送信すると言うような場合でも、やはり、まずいことになるのでしょうか?
---------------------------------------------------------
正規のフォームからではなく、外部フォームからの送信についても、考慮する必要があります。
簡単に偽造したフォームから、その改造されたCGIスクリプトを使ってメールを送信することは可能ですので。
これは、WEBプログラミングをする上で、一番考えなくてはいけないことです。
その認識が、甘いように思われます。
もう一度、メールの送信先をフォームで渡すということが、どんなに危ないことかを考えてください。