Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

DZX1.5限制外地IP发帖,发帖数大于20可操作,超强有效防广告

[复制链接]
tianlimin 发表于 2010-10-15 17:11:44 | 显示全部楼层 |阅读模式
插件发布
插件名称: DZX1.5限制外地IP发帖,发帖数大于20可操作,超强有效防广告
插件来源:
适用版本: Discuz! X1.5
语言编码: GBK简体 UTF8简体 BIG5繁体 UTF8繁体 
最后更新时间:
插件作者: tianlimin
插件简介: 可限制一定IP范围内的用户可以进行:发帖、回复、日志、评论留言、记录、短消息、打招呼、分享、上传相册。
本帖最后由 tianlimin 于 2010-10-15 17:24 编辑

功能详细举例说明:
请到http://www.qhdok.com/查看演示。
本站限制的是只允许河北省IP用户才可以进行发帖回复和家园的一家操作。
如果用户发帖数>20,则不受IP位置限制。
如果用户是游客或者发帖数<20,刚限制用户不能发表一些广告相关词语(QQ,地址,电话等。。)

如果他是河北省的游客,可以进行发帖回复。
如果他是北京的游客,就只能看帖,不能发表信息
如果他是新注册的会员,但IP是外地的,不能发表回复,也不能在家园做任何操作。
如果他是老会员,发帖数>20,就不通IP位置的限制,在外地也可以发帖回复。
本地注册的会员或游客,发帖数<20的时候,不能发广告词语。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实现原理:
1.论坛使用了最新最全的“纯真版IP数据库”得到地址,来判断用户IP位置中是否包含“河北省”这三个字。
2.需要用到到用户的发帖数,判断用户发帖数是否大于20.
来实现:游客的IP是河北省的 或者 会员发帖数>20 才可以进行发帖、回复、家园等操作。

3.判断是否是游客,判断会员发帖数
来实现:发帖数小于20的会员 或 游客 不允许发表广告词语。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
展示图片:















超强有效防广告已开发完毕,大家可以去我坛子测试发广告。
原帖地址:http://www.qhdok.com/thread-26525-1-1.html
代码近日放出,下班了,有时间整理好再发上来

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

 楼主| tianlimin 发表于 2010-10-15 17:28:06 | 显示全部楼层
本帖最后由 tianlimin 于 2010-10-16 23:28 编辑

具体修改方法:
  1. IP限制河北省 and 发帖数小于20广告限制。
  2. 1.将最新纯真版IP数据库的QQwry.Dat上传至data/ipdata/
  3. 2.找到source\function/function_misc.php 修改
  4. $tinyipfile = DISCUZ_ROOT.'./data/ipdata/tinyipdata2.dat';
  5. $fullipfile = DISCUZ_ROOT.'./data/ipdata/QQWry.Dat';
  6. 3.找到以下文件进行修改
  7. source/include/post/下面
  8. source/include/spacecp/下面
  9. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  10. source/include/post/下面
  11. post_newthread.php新帖
  12. post_newreply.php回复
  13. post_editpost.php编辑帖
  14. post_newtrade.php新交易

  15. source/include/spacecp/下面
  16. PS,spacecp/下的文件,判断变量用的不一样的。依次为说明后面的变量,改下就好:
  17. spacecp_blog.php日志$_POST['message']
  18. spacecp_comment.php评论$_POST['message']
  19. spacecp_doing.php记录$_POST['message']
  20. spacecp_pm.php短消息$_POST['message']
  21. spacecp_poke.php打招呼$_POST['note']
  22. spacecp_share.php分享 不需断断,直接限制
  23. spacecp_upload.php相册上传图片 不需断断,直接限制

  24. source/module/forum/forum_group.php创建群组
  25. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26. 打开后找到<?php
  27. 在 下面加上
  28. require_once( DISCUZ_ROOT."./source/function/function_misc.php" );

  29. 找到if(!defined('IN_DISCUZ')) {
  30. exit('Access Denied');
  31. }
  32. 在 下面加上
  33. $wolfpostsum = DB::result(DB::query("SELECT posts FROM ".DB::table('common_member_count')." where uid='$_G[uid]'"),0);
  34. //防广告限制开始
  35. //获取IP
  36. if(!empty($_SERVER["HTTP_CLIENT_IP"]))
  37. $cip = $_SERVER["HTTP_CLIENT_IP"];
  38. else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
  39. $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  40. else if(!empty($_SERVER["REMOTE_ADDR"]))
  41. $cip = $_SERVER["REMOTE_ADDR"];
  42. else
  43. $cip = "无法获取!";
  44. //限制IP:只允许 河北省秦皇岛市 IP才可以发帖
  45. if( ( strpos(convertip($cip),'河北省') ) or ( $_G['uid'] != 0 and $wolfpostsum > 20 ) ) //游客的IP是河北省的 或者 会员发帖数>20
  46. {
  47. }
  48. else
  49. {
  50. showmessage('<font color=red>SORRY,您的IP被禁止,不能发布任何信息!</font>');
  51. }

  52. if($wolfpostsum < 20 or $_G['uid'] == 0){
  53. $adcheck=preg_replace("/\[url(.*)\[\/url\]|http:|www.|QQ|电话|TEL|联系方式|地址|号码|网址|股票/is","",$message);
  54. if($adcheck!=$message){
  55. showmessage('<font color=red>您的论坛发帖数小于20,禁止提交包含广告词语的信息!</font>');
  56. }
  57. }
  58. //防广告限制结束
复制代码


==========================华丽的分隔线=========================



顺便求一下家园中链接的解析问题。想加个站外链接不解析功能,或者跳转也好。不知道改哪个文件。


这个是我以前发过的帖子。
教你有效防止外链广告!!!修改discuz的URL代码
https://discuz.dismall.com/thread-1237765-1-1.html

我知道source\function/function_discuzcode.php是DZX的。后台已经设置了不解析了。所以不需要改这个文件。

只是想知道家园的链接解析是哪个文件


DZX1.5限制外地IP发帖,发帖数大于20可操作,超强有效防广告
https://discuz.dismall.com/thread-1930998-1-1.html
DZX1.5论坛搜索翻页BUG解决办法
https://discuz.dismall.com/thread-1924402-1-1.html
分享到完美解决方案。求加分中。。。
https://discuz.dismall.com/thread-1928020-1-1.html
DZX1.5修改帖子浏览次数
https://discuz.dismall.com/thread-1932285-1-1.html
DZX1.5(联系我时,请一定说明是从秦皇岛OK网看到的)
https://discuz.dismall.com/thread-1932278-1-1.html
DZX1.5在线会员在线会员显示更多。
https://discuz.dismall.com/thread-1932292-1-1.html
DZX1.5天气预报+运行天数。
https://discuz.dismall.com/thread-1932301-1-1.html
DZX1.5限制外地IP发帖,发帖数大于20可操作,超强有效防广告
https://discuz.dismall.com/thread-1930998-1-1.html
DZX1.5修改会员总数,修改会员数量。
https://discuz.dismall.com/thread-1932289-1-1.html
复制链接的链接地址很长,改成正确地址的方法
https://discuz.dismall.com/thread-1928014-1-1.html
IIS5.0&amp;DZX伪静态httpd.ini的设置问题
https://discuz.dismall.com/thread-1918867-1-1.html
应用管理移默认应用后左边应用菜单仍没被移除
https://discuz.dismall.com/thread-1927869-1-1.html


回复

使用道具 举报

mels 发表于 2010-10-16 14:57:08 | 显示全部楼层
真是牛啊
回复

使用道具 举报

易爱社区 发表于 2010-10-16 16:11:27 | 显示全部楼层
需要这样的插件
回复

使用道具 举报

wlqc 发表于 2010-10-16 16:25:25 | 显示全部楼层
好像是发布出去哦。。
不过IE左下方提示 网页有错误
回复

使用道具 举报

hfzbyint 发表于 2010-10-16 17:33:37 | 显示全部楼层
这个不错,赞一个
回复

使用道具 举报

php580.com 发表于 2010-10-16 17:41:31 | 显示全部楼层
好象不错
回复

使用道具 举报

ilei365 发表于 2010-10-16 18:16:22 | 显示全部楼层
不错。
回复

使用道具 举报

uuvd 发表于 2010-10-16 21:29:12 | 显示全部楼层
这个好像不错啊。
回复

使用道具 举报

 楼主| tianlimin 发表于 2010-10-16 23:10:23 | 显示全部楼层
具体修改方法已更新到二楼。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-10-3 02:28 , Processed in 0.114089 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表