wemall app商城源码机器人检测

wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享wemall app商城源码Android之 wemall app商城源码机器人检测,供技术员参考学习。

<?php

defined(‘THINK_PATH‘) or exit();
/**
 * 机器人检测
 * @category   Extend
 * @package  Extend
 * @subpackage  Behavior
 * @author   liu21st <[email protected]>
 */
class RobotCheckBehavior extends Behavior {
    protected $options   =  array(
            ‘LIMIT_ROBOT_VISIT‘ =>  true, // 禁止机器人访问
        );
    public function run(&$params) {
        // 机器人访问检测
        if(C(‘LIMIT_ROBOT_VISIT‘) && self::isRobot()) {
            // 禁止机器人访问
            exit(‘Access Denied‘);
        }
    }

    static private function isRobot() {
        static $_robot = null;
        if(is_null($_robot)) {
            $spiders = ‘Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla‘;
            $browsers = ‘MSIE|Netscape|Opera|Konqueror|Mozilla‘;
            if(preg_match("/($browsers)/", $_SERVER[‘HTTP_USER_AGENT‘])) {
                $_robot	 =	  false ;
            } elseif(preg_match("/($spiders)/", $_SERVER[‘HTTP_USER_AGENT‘])) {
                $_robot	 =	  true;
            } else {
                $_robot	 =	  false;
            }
        }
        return $_robot;
    }
}

  

wemall官网地址:http://www.wemallshop.com

原文详情地址:http://Git.oschina.NET/zzunet/wemall-doraemon/commit/e8f303df5663dc69fe47bb9623222149d40e3956

wemall doraemonAndroid app商城详情地址:http://www.koahub.com/home/product/55

WeMall - 开源微商城 微信商城 商城源码 分销商城 b2b2c商城系统

时间: 2024-10-02 14:52:27

wemall app商城源码机器人检测的相关文章

wemall app商城源码Android之支付宝通知处理类

wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之处理支付宝各接口通知返回,供技术员参考学习. 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码,该代码仅供学习和研究支付宝接口使用,只是提供一个参考,调试通知返回时,可查看或改写log日志的写入TXT里的数据,来检查通知返回是否正常. w

wemall app商城源码Android数据的SharedPreferences储存方式

wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android数据的SharedPreferences储存方式,供技术员参考学习.        SharedPreferences:除了SQLite数据库外,SharedPreferences也是一种轻型的数据储存方式,它的本质是基于XML文件存储key-value键值对数据,通常用来储存一些简单的配置信息.Sha

wemall app商城源码Android之通用通知接口demo

wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Native(原生)支付模式一demo,供技术员参考学习. wemall官网地址:http://www.wemallshop.com 支付完成后,微信会把相关支付和用户信息发送到商户设定的通知URL,商户接收回调信息后,根据需要设定相应的处理流程. 这里举例使用log文件形式记录回调信息. notify_url.php <?php includ

wemall app商城源码Android中ViewHolder详细解释

1.ViewHolder的解释: (1).只是一个静态类,不是Android的API方法. (2).它的作用就在于减少不必要的调用findViewById,然后把对底下的控件引用存在ViewHolder里面,再在View.setTag(holder)把它放在view里,下次就可以直接取了. 2.convertView中的TAG: (1).Tag不像ID是用标示view的.Tag从本质上来讲是就是相关联的view的额外的信息.它们经常用来存储一些view的数据,这样做非常方便而不用存入另外的单独结

wemall app商城源码Android短信监听接收器

wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中短信监听接收器,用于自动获取短信验证码,然后自动填写到验证码区域代码,供技术员参考学习. package cn.smssdk.gui; import android.content.BroadcastReceiver; import android.content.Context; import a

wemall app商城源码中基于PHP的ThinkPHP惯例配置文件代码

wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中关于ThinkPHP惯例配置文件代码,供技术员参考学习. <?php /** * ThinkPHP惯例配置文件 * 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项 * 配置名称大小写任意,系统会统一转换成小写 * 所有配置参数都可以在生效前动态改变 * @cate

wemall app商城源码android开发MD5加密工具类

wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享android开发MD5加密工具类主要代码,供技术员参考学习. package com.gzcivil.utils; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgori

wemall app商城源码中实现带图片和checkbox的listview

wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享其中实现带图片和checkbox的listview,供技术员参考学习. import com.inuoer.util.AsyncImageLoader.ImageCallback; import com.inuoer.wemall.R; public class MainAdapter extends BaseAdapter { private

wemall app商城源码中基于JAVA的T绑定和处理fragments和viewpager之间的逻辑关系代码

wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中关于为ViewPager添加布局(Fragment),绑定和处理fragments和viewpager之间的逻辑关系,供技术员参考学习. package com.inuoer.util; import java.util.List; import android.support.v4.app.Fra