让 phpwind 论坛禁止某些邮箱的注册
换用 phpwind 做为论坛系统后,注册机乱注册的用户就一堆一堆的过来,为了阻止注册机的注册,启用了比较复杂的验证码,把注册文件改名、邮件验证等,做了这些之后,确实挡住了一大部分的注册机。消停了一阵后,又来了,还好,这些注册机注册时使用的邮箱都是某些固定后缀,好办了,在注册过程中禁止这些后缀的注册。
phpwind 论坛只提供了允许指定邮箱注册的功能,那不行啊,我是想禁止指定邮箱的注册,phpwind 论坛并没有提供这样的功能,在 phpwind 的官方论坛上,有不少人建议增加这个功能,直到 7.3.2 版还是没有增加。咱们只能是自己动手了。
2009.12.04注释:可以略过这段,往下看更新过的代码
好,修改注册文件,一般是 register.php,找到这些,大概是在 73 行:
if (!$email || !preg_match("/^[-a-zA-Z0-9_\.]+@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$/",$email)) { echo 1; ajax_footer(); } |
这段代码就是验证注册的邮箱是否合法,那好,在下面加这些就可以了:
if (strpos($email, "@designhot.net.cn")) { echo 1; ajax_footer(); } |
意思就是说,如何邮箱是以“@designhot.net.cn”结尾的,那就是非法了,哈哈,搞死你注册机
要是禁止多个呢,就把这段多写几遍就好了。
还有,再找到这句:
if (empty($regemail) || !ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$regemail)) { Showmsg('illegal_email'); } |
在这后面加上:
else if (strpos($regemail, "@designhot.net.cn")) { Showmsg('illegal_email'); } |
同样,如果有多个要禁止的邮箱,就把上面这句多写几遍就好了。
我发现的注册机的后缀有:
@designhot.net.cn
@cpok-bdqn.com.cn
@bdqncpok.com.cn
@bdqnok-cp.com.cn
@cp-bdqnok.com.cn
@company-mail.cn
@delu(这个比较烦,有 @delu1.com、@delu8.com 等)
@newline.net.cn
@marketnet.com.cn
@hongkong-seo.com
2009.12.03更新,偶然无聊,发现老窝了,这些都是一个地方出来的:
@chongsoft.org
@wormseo.cn
@wormseo.com
@chongsoft.cn
@zyseo.com
@seorj.cn
@qqneiyi.cn
@chongblog.cn
@chongblog.com
@71mail.com.cn
@designhot.net.cn
@marketnet.com.cn
@newline.net.cn
@company-mail.cn
@cpok-bdqn.com.cn
@cp-bdqnok.com.cn
@bdqncpok.com.cn
@bdqnok-cp.com.cn
@bdqn-hicp.com.cn
@wormsoft.cn
@chongseo.net
@chongseo.cn
@chongseo.com
@huiseo.cn
@csoftmail.cn
@xdseo.com
不用说,都屏蔽丫
2009.12.04更新:
越来越多的邮箱都发垃圾,为了方便改代码,上面说的代码可以不用考虑了,用下面这个好了:
还在 register.php 文件里,先在文件开头部分,大概第10行左右,就是“if (GetGP(‘vip’) == ‘activating’) {”之前,写一个自己的函数:
function osnaile_isgoodmail($email) { $spamemail = array( "@chongsoft.org", "@wormseo.cn", "@wormseo.com", "@chongsoft.cn", "@zyseo.com", "@seorj.cn", "@qqneiyi.cn", "@chongblog.cn", "@chongblog.com", "@71mail.com.cn", "@designhot.net.cn", "@marketnet.com.cn", "@newline.net.cn", "@company-mail.cn", "@cpok-bdqn.com.cn", "@cp-bdqnok.com.cn", "@bdqncpok.com.cn", "@bdqnok-cp.com.cn", "@bdqn-hicp.com.cn", "@wormsoft.cn", "@chongseo.net", "@chongseo.cn", "@chongseo.com", "@huiseo.cn", "@csoftmail.cn", "@delu", "@hongkong-seo.com", "@xdseo.com" ); foreach ($spamemail as &$spam) { if (strpos($email, $spam)) { return false; } } return true; } |
好,然后再找到这些,大概是在 73 行:
if (!$email || !preg_match("/^[-a-zA-Z0-9_\.]+@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$/",$email)) { echo 1; ajax_footer(); } |
后面加上:
if (!osnaile_isgoodmail($email)) { echo 1; ajax_footer(); } |
再找到这句:
if (empty($regemail) || !ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$regemail)) { Showmsg('illegal_email'); } |
在这后面加上:
else if (!osnaile_isgoodmail($regemail)) { Showmsg('illegal_email'); } |
2010.06.04更新:
在 phpwind 7.5 中已经有邮箱黑名单功能了,只要在后台里设置好黑名单就行了
黑名单列表:
qsseo.com,seoyw.com,chongsoft.org,wormseo.cn,wormseo.com,chongsoft.cn,zyseo.com,seorj.cn,qqneiyi.cn,chongblog.cn,chongblog.com,71mail.com.cn,designhot.net.cn,marketnet.com.cn,newline.net.cn,company-mail.cn,cpok-bdqn.com.cn,cp-bdqnok.com.cn,bdqncpok.com.cn,bdqnok-cp.com.cn,bdqn-hicp.com.cn,wormsoft.cn,chongseo.net,chongseo.cn,chongseo.com,huiseo.cn,csoftmail.cn,xdseo.com,designhot.net.cn,cpok-bdqn.com.cn,bdqncpok.com.cn,bdqnok-cp.com.cn,cp-bdqnok.com.cn,company-mail.cn,delu1.com,delu2.com,delu3.com,delu4.com,delu5.com,delu6.com,delu7.com,delu8.com,newline.net.cn,marketnet.com.cn,hongkong-seo.com,shoesonlineshop.org,siteposter.net |
呵呵 多谢提供啦~~
呼 删得好爽 – -//