記事No | : 12769 |
投稿日 | : 2014/03/20(Thu) 17:00:53 |
タイトル | : 海外からのフォーム送信拒否 |
ID情報 | : toikinya |
投稿者 | : うりん |
URL | : http://www.jai.co.jp |
post mail.cgiを使わせていただいています。
最近、海外からフォームへの英文スパムが送信されて迷惑しています。ただ、実際に海外からも問い合わせがあるので、英文の書き込み禁止にはできません。
これらの迷惑送信には複数のURLが書かれていることがほとんどなので「コメント中のURLは最大3個まで」などの記述を教えていただけないでしょうか。
これに近い例は見つけたのですが、post mailでの記述がわからず、申し訳けありません。
よろしくお願い致します。
記事No | : 12773 |
投稿日 | : 2014/03/22(Sat) 12:38:42 |
タイトル | : Re: 海外からのフォーム送信拒否 |
ID情報 | : kent |
投稿者 | : KENT |
> post mail.cgiを使わせていただいています。
>
> 最近、海外からフォームへの英文スパムが送信されて迷惑しています。ただ、実際に海外からも問い合わせがあるので、英文の書き込み禁止にはできません。
>
> これらの迷惑送信には複数のURLが書かれていることがほとんどなので「コメント中のURLは最大3個まで」などの記述を教えていただけないでしょうか。
>
> これに近い例は見つけたのですが、post mailでの記述がわからず、申し訳けありません。
> よろしくお願い致します。
例えば、aska bbs のサブルーチンを利用してはいかがでしょうか。
禁止対象が、$in{comment} のとき、
my $com = $in{comment};
my ($num) = ($com =~ s|(https?://)|$1|ig);
if ($num > 3) {
error("コメント中のURLアドレスは最大3個までです");
}
記事No | : 12777 |
投稿日 | : 2014/03/24(Mon) 11:18:40 |
タイトル | : Re^2: 海外からのフォーム送信拒否 |
ID情報 | : toikinya |
投稿者 | : うりん |
URL | : http://www.jai.co.jp |
> 例えば、aska bbs のサブルーチンを利用してはいかがでしょうか。
> 禁止対象が、$in{comment} のとき、
>
> my $com = $in{comment};
> my ($num) = ($com =~ s|(https?://)|$1|ig);
> if ($num > 3) {
> error("コメント中のURLアドレスは最大3個までです");
> }
ありがとうございます。
やってみたのですが、
Global symbol "%in" requires explicit package name at postmail.cgi line 30, <DATA> line 855.
Execution of postmail.cgi aborted due to compilation errors.
というエラー表示が出てしまいました。どこをなおせばいいでしょうか?
素人で申し訳ありません。よろしくお願い致します。
記事No | : 12786 |
投稿日 | : 2014/03/26(Wed) 20:35:51 |
タイトル | : Re^3: 海外からのフォーム送信拒否 |
ID情報 | : kent |
投稿者 | : KENT |
> > 例えば、aska bbs のサブルーチンを利用してはいかがでしょうか。
> > 禁止対象が、$in{comment} のとき、
> >
> > my $com = $in{comment};
> > my ($num) = ($com =~ s|(https?://)|$1|ig);
> > if ($num > 3) {
> > error("コメント中のURLアドレスは最大3個までです");
> > }
>
> ありがとうございます。
> やってみたのですが、
>
> Global symbol "%in" requires explicit package name at postmail.cgi line 30, <DATA> line 855.
> Execution of postmail.cgi aborted due to compilation errors.
>
> というエラー表示が出てしまいました。どこをなおせばいいでしょうか?
> 素人で申し訳ありません。よろしくお願い致します。
そうでしたね。
my $com = $in{comment};
↓
my $com = $$in{comment};
記事No | : 12800 |
投稿日 | : 2014/03/28(Fri) 14:20:34 |
タイトル | : Re^4: できました! |
ID情報 | : toikinya |
投稿者 | : うりん |
URL | : http://www.jai.co.jp |
> > > 例えば、aska bbs のサブルーチンを利用してはいかがでしょうか。
> > > 禁止対象が、$in{comment} のとき、
> > >
> > > my $com = $in{comment};
> > > my ($num) = ($com =~ s|(https?://)|$1|ig);
> > > if ($num > 3) {
> > > error("コメント中のURLアドレスは最大3個までです");
> > > }
> >
> > ありがとうございます。
> > やってみたのですが、
> >
> > Global symbol "%in" requires explicit package name at postmail.cgi line 30, <DATA> line 855.
> > Execution of postmail.cgi aborted due to compilation errors.
> >
> > というエラー表示が出てしまいました。どこをなおせばいいでしょうか?
> > 素人で申し訳ありません。よろしくお願い致します。
>
> そうでしたね。
>
> my $com = $in{comment};
>
> ↓
>
> my $com = $$in{comment};
ありがとうございました!
できました!!!
これがやりたかったんです。
本当に助かりました。本当にありがとうございました!
>