关注二维码
 找回密码
 立即注册
技术宅

关注:0

所属分类: 摄影专区 技术宅

本版块用以学习各类技术

discuz 禁止外国IP注册

[复制链接]
查看: 350|回复: 1
发表于 2016-6-15 09:22:40 | 显示全部楼层 |阅读模式
1.jpg
许多discuz的注册机器人会自动在你的网站注册用户,然后IP显示的为外国的IP地址,占用服务器资源不说,而且非常烦人。手工添加禁止IP又非常麻烦。现在分享一段代码让您轻松导入禁止IP。(per_common_member表名称前缀请自行更改,如果不知道可以去PHPadmin查看


  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>黑名单</title>
  6. </head>

  7. <body>
  8. <?php
  9. /*****************************
  10. *数据库连接
  11. *****************************/
  12. $conn = @mysql_connect("localhost","用户名","密码");//此处输入MYSQL的用户名和密码
  13. if (!$conn){
  14.         die("连接数据库失败:" . mysql_error());
  15. }
  16. mysql_select_db("mlgo", $conn);
  17. //字符转换,读库
  18. mysql_query("set character set 'utf8'");
  19. //写库
  20. mysql_query("set names 'utf8'");

  21. $blackmember_num = mysql_query("SELECT uid FROM per_common_member WHERE groupid = 8 ");//搜索per_common——member表中groupid为8的用户
  22. $bm_num = mysql_num_rows($blackmember_num);//统计搜索到的数据行数
  23. echo $bm_num."<br/>";
  24. while($bm_arr = mysql_fetch_array($blackmember_num))  
  25. {  
  26. $blackmember_ip = mysql_query("SELECT regip FROM per_common_member_status WHERE uid = $bm_arr[uid]");
  27. $bm_ip_arr = mysql_fetch_array($blackmember_ip);
  28. echo $bm_ip_arr['regip'].";3000"."<br/>" ; //显示禁止IP及禁止天数3000,想改禁止天数可自行更改数字3000
  29. }

  30. ?>

  31. </body>
  32. </html>
复制代码
保存此段代码为一个PHP文件,(例如blacklist.php)然后放到服务的一个位置,通过IE访问即可显示这些非法IP。


2.jpg
5为共计有多少个IP,IP地址后边“;”后的3000为禁止天数,选中,复制到禁止IP中即可。
3.jpg





此代码原理为搜索数据库中等待验证会员的IP地址并显示出来。
4.jpg
5.jpg

10

主题

23

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2016-6-15 09:24:27 | 显示全部楼层
:):):):):):):):):):)
强强强强强强强强强强强强强强

324

主题

355

帖子

6777

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6777

最佳新人网站达人灌水之王

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则