业务经理

微信扫描以上二维码

028-61286886

技术咨询

如何防止别人通过ID来采集网站

迅睿框架 更新 2024-05-25 11:59:43 凌云大大

解决问题:如何防止别人通过ID来采集网站?

1、创建一个fcaiji的字段,以下是代码

{"name":"防采集","fieldname":"fcaiji","fieldtype":"Text","isedit":"1","ismain":"1","issystem":"0","ismember":"1","issearch":"0","disabled":"0","setting":{"option":{"fieldtype":"CHAR","fieldlength":"4","value":"","width":"","css":""},"validate":{"xss":"1","required":"0","pattern":"","errortips":"","check":"","filter":"user_gl_caiji","tips":"","formattr":""},"is_right":"0"},"displayorder":"0"}

2、在custom.php文件中放出以下代码

 function my_cjurl($data) { 

     $url=$data['fcaiji'].$data['id'].'.html';

     return $url;

 }


function my_gl_caiji($value, $data = [], $old = []) {  

      if(empty($value)){

      $characters = 'abcdefghijklmnopqrstuvwxyz';

        $shuffledCharacters = str_shuffle($characters);

        $value = substr($shuffledCharacters, 0, 4);

       }

    return $value; // 返回的数据一定要是字符串格式!!!

}

3、创建URL规则,这里只有独立模块的

{"id":"4","type":"1","name":"防采集","value":"{\"module\":\"{modname}.html\",\"list\":\"{modname}/{dirname}/\",\"list_page\":\"{modname}/{dirname}/{page}/\",\"show\":\"{modname}/{my_cjurl($data)}\",\"show_page\":\"{modname}/{id}_{page}.html\",\"search\":\"{modname}/sch.html\",\"search_page\":\"{modname}/sch-{param}.html\",\"catjoin\":\"/\"}"}

4、在rewrite.php中用如下规则

    "([a-z]+)\/([a-z]+)([0-9]+)\.html" => "index.php?s=$1&c=show&fcaiji=$2&id=$3", 

5、在list.html中用上maxlimit=100的参数

6、在hooks.php中用上如下参数

\Phpcmf\Hooks::app_on('appname', 'module_search_data', function($data) {

     $page=$_GET['page'];

     if($page>5){

          XR_C()->goto_404_page(dr_lang('该分页不存在'));

     }

});



\Phpcmf\Hooks::app_on('appname', 'module_show', function($data) {


    $fcaiji=$_GET['fcaiji'];

    

    if($data['fcaiji']&&$fcaiji!==$data['fcaiji']){

          XR_C()->goto_404_page(dr_lang('内容不存在!'));

     }

    return dr_return_data(1, '', $data);

});




方案

  • 自牧 #1 · 2024-03-29 17:41:16
    请教:这个字段建在什么地方,控制字段吗?

    1、创建一个fcaiji的字段,以下是代码

    {"name":"防采集","fieldname":"fcaiji","fieldtype":"Text","isedit":"1","ismain":"1","issystem":"0","ismember":"1","issearch":"0","disabled":"0","setting":{"option":{"fieldtype":"CHAR","fieldlength":"4","value":"","width":"","css":""},"validate":{"xss":"1","required":"0","pattern":"","errortips":"","check":"","filter":"user_gl_caiji","tips":"","formattr":""},"is_right":"0"},"displayorder":"0"}

  • 凌云大大 #2 · 2024-05-25 11:59:43
    自牧 内容模块

迅睿系统漏洞

GeoSeo工具箱
GeoSeo工具箱(2026-10-30)
新增城市落地页FAQ自定义 新增 Site Scan 分析报告并支...
外贸多语言建站
外贸多语言建站(2026-10-30)
修正对百度编辑器提取支持
AI文章生成器
AI文章生成器(2026-10-29)
任务插图设置数量
Bing站长数据
Bing站长数据(2026-10-29)
根据BING接口调整菜单 各个页面数据支持点击查看详情
按字段付费
按字段付费(2026-10-29)
按字段付费用于模块的字段设置一定的价格,当用户购买了此内容的字段时才...
泛解析站群系统
泛解析站群系统(2026-10-29)
AI队列增加清空按钮 表单提示语收敛 目录模式不接管主域名模板
账号注销
账号注销(2026-10-29)
用于用户中心的注销账号申请,后台审核通过后注销此账号。后台统一管理注...
邮件群发
邮件群发(2026-10-28)
修改模板的命名
自定义收款/捐款
自定义收款/捐款(2026-10-28)
自定义收款或捐款插件可以让用户快速创建付款或者捐款功能
CMS内容批量修改
CMS内容批量修改(2026-10-28)
后台批量修改文章内容的指定字段在插件后台可以任意指定字段