« 2005年12月 | メイン | 2006年10月 »
2006年03月17日
mb_send_mailでの文字化け
PHP4では文字化けしなかったがPHP5で文字化けするようになった。
----------------------------------------------
mb_send_mail("masato_s@sb3.so-net.ne.jp", "Profile変更依頼".$member[2], $new_contents, "From: SFIDA");
----------------------------------------------
改善
↓
----------------------------------------------
mb_language("Ja") ;
mb_internal_encoding("SJIS") ;
mb_send_mail("masato_s@sb3.so-net.ne.jp", "Profile変更依頼".$member[2], $new_contents, "From: SFIDA");
----------------------------------------------
投稿者 masato : 01:06 | コメント (701)
2006年03月08日
コメントスパム対策
■MovableTypeコメントスパム対策(その1)
「半角英数記号しか含まない文字列の時は強制終了させる方法」 (by あけびさん)
mt-comments.cgiのuse strict;以下に次の記述を追加。
------------------------------------
use CGI qw(:standard);
if ($ENV{'REQUEST_METHOD'} eq "POST") {
my $tck = param('text');
die if($tck ne "" && $tck !~ /[\x80-\xff]/);
}
---------------------------------------
■上MovableTypeコメントスパム対策(その2)
上記方法の改訂版。
「コメント内に全角の句点「。」または読点「、」のいずれかがひとつも含まれない場合は強制終了になる方法」
正規の投稿フォーム以外からの投稿の場合(POSTメソッドではない投稿の場合)のための対策です。
上記で改善されない場合はこちらに (by あけびさん)
mt-comments.cgiのuse strict;以下に次の記述を追加
------------------------------------
use CGI qw(:standard);
my $sc_tx = param('text');
use Jcode;
Jcode::convert(\$sc_tx,'sjis');
die if($sc_tx ne "" && $sc_tx !~ /\x81(\x41|\x42)/);
-------------------------------------
句読点のない文章を書くことは少ないかと思いますが、句読点がなければエラーになる旨をコメント投稿欄に記述したほうがいいかもしれません。
■上MovableTypeコメントスパム対策(その3)
「連続したひらがなが必須」の方法(by あけびさん)
mt-comments.cgiのuse strict;以下に次の記述を追加
------------------------------------
use CGI qw(:standard);
my $sc_tx = param('text');
my @sc_s;
my $sc_n= 2;
my $sc_m= 2;
use Jcode;
Jcode::convert(\$sc_tx,'sjis');
@sc_s = $sc_tx =~ /(\x82[\xa0-\xf2]|\x81\x5b){$sc_n,}/g;
die if($sc_tx ne "" && scalar(@sc_s)<$sc_m);
------------------------------------
$sc_nでひらがなの必須連続文字数を、
$sc_mで、$sc_nで指定した文字列の本文中の必須数を指定します。
例えば、
my $sc_n= 4;
my $sc_m= 2;
なら、本文中に4文字以上連続したひらがな文字列が2個所以上に必要ということです。
連続していればひとつのひらがな文字列とみなしますので、
「あいうえおかきくけこ」は「あいうえ」+「おかきく」とはカウントされず、
10文字のひとつのひらがな文字列とみなします。
my $sc_n= 1;
my $sc_m= 1;
なら、本文中に1文字でもひらがながあればOKとなります。
投稿者 masato : 11:59 | コメント (468)