get_client_ip()】的更多相关文章

在Thinkphp框架下使用get_client_ip()函数获取客户端IP地址十分方便: 一行代码便可以实现:$ip = get_client_ip(); 但当我们测试时会遇到后台获取的IP地址显示的是局域网内的IP地址,而不是用户客户端真正的IP地址: 解决此问题办法如下:(此方法是在官方thinkphp讨论区大牛分享的http://www.thinkphp.cn/code/433.html) 修改位置:根项目\ThinkPHP\Common\funcitons.php->get_clien…
php获取客户端ip get_client_ip() function get_client_ip(){if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")){ $ip = getenv("HTTP_CLIENT_IP");}else if (getenv("HTTP_X_FORWARDED_FO…
get_client_ip()获取ip地址,在开启IPv6协议的主机上会全部返回0.0.0.0原因是他会把ipv6地址认为是非法地址而转换成0.0.0.0,而ipv4地址在ipv6主机上用get_client_ip()会放回类似::ffff:192.168.1.250这样的形式. /** * 转换IPv6地址为bin * @param string $ip 返回类型 0 数字 1 返回False * @return mixed */ function ip2bin($ip) { if(filte…
get_client_ip()获取ip地址,在开启IPv6协议的主机上会全部返回0.0.0.0原因是他会把ipv6地址认为是非法地址而转换成0.0.0.0,而ipv4地址在ipv6主机上用get_client_ip()会放回类似::ffff:192.168.1.250这样的形式.…
Getgdc函数 discuz有一个超级变量的自定义函数:   function getgpc($k, $type='GP') {     $type = strtoupper($type);     switch($type) {         case 'G': $var = &$_GET; break;         case 'P': $var = &$_POST; break;         case 'C': $var = &$_COOKIE; break;   …
在记录用户发送短信需要获取用户ip时,tp一直获取的是内网ip:10.10.10.10 tp框架获取ip方法:get_client_ip /** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @param boolean $adv 是否进行高级模式获取(有可能被伪装) * @return mixed */ function get_client_ip($type = 0,$adv=false) { $type =…
/**     * 组合微信app支付  获得prepayid     * @param int $order_num     */    private function _wxpay_request($order_num = 0)    {                //判断订单编号必须是数组并且不为0        check_order_num($order_num); //引入微信支付类            libraries_include("wxpay/", &qu…
11-16  thinkcmf 核心文件结构:simplewind--model--lite--model.class.php /controller.class.php Mobile---controller: 获取错误信息:$this->apiError()$this->apiSuccess() 获取用户IP:get_client_ip()---model.class.php 统计条数: $count = M('Order')->where($where_s)->count()…
一.   创建模板 demo 1 Tpl下创建demo文件-----后台启用新的模板 (网站信息--模板方案) 2 在模板在tpl/demo目录下创建Portal目录,然后在Portal目录下创建index.html 首页基本分为以下部分head,header,content,footer,scripts这五大部分 <<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type"…
最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能.这里我用的是即时到帐的接口,具体实现的步骤如下:一.下载支付宝接口包下载地址:https://doc.open.alipay.com/doc2/detail?treeId=62&articleId=103566&docType=1具体如何下载,我就不在罗嗦了--很多人反映,用支付宝的接口到最后面会出现验证错误.其实,这里需要对接口程序进行一下改造.需要添加几个自定义函数.为了让大家以后避免出现同样的问题,我把我改造好…
有时候,我们希望系统能够帮我们自动完成一些功能,比如自动为密码加密,忽略空等,这个时候我们就需要利用到自动完成(填写)的功能. ThinkPHP 模型层提供的数据处理方法,主要用于数据的自动处理和过滤,使用 create()方法创建数据是会自动完成.自动完成一般通过默认字段写入.安全字段过滤以及业务逻辑的 自动处理等.有两种方式实现自动完成的规则:1.静态方式:在模型类里通过$_auto 属性定义处理规则:2 动态方式:使用模型类的 auto 方法动态创建自动处理规则. 一.完成规则 array…
<?php // 自定义异常函数 set_exception_handler('handle_exception'); // 自定义错误函数 set_error_handler('handle_error'); /** * 异常处理 * * @param mixed $exception 异常对象 * @author 52php.cnblogs.com */ function handle_exception($exception) { Error::exceptionError($except…
ThinkPHP V5.——为API开发而设计的高性能框架 ThinkPHP5..0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载. GitHub项目地址:点击访问 ThinkPHP5在保持快速开发和大道至简的核心理念不变的同时,PHP版本要求提升到5.,对已有的CBD模式做了更深的强化,优化核心,减少依赖,基于全新的架构思想和命名空间实现,是ThinkPHP突破原有框架思路的颠覆之作,其主要特性包括: 基于命名空间和众多PH…
一.只要设计到where查询语句,无论是增删改查 $cn['username'] = session('member.username'); $cn['itemid'] = $itemid; $item = M('Buy')->where($cn)->find(); 或者 $cn['username&status'] = array(session('member.username'),'2','_multi'=>true); $list = M('FinanceRecord')…
类的自动加载后直接实例化 //自动加载类 function my_autoloader($class) { include $class . 'Class.php'; } spl_autoload_register('my_autoloader'); $test=new test(); $test->getvalue(); 注意上述函数spl_autoload_register(array("Thinkphp","autoload"));则表示注册的函数是th…
点赞功能原理.     图片. 1.connect.php文件 <?php $host="localhost"; $db_user="root"; $db_pass="111111"; $db_name="dianzan"; $timezone="Asia/Shanghai"; $link=mysql_connect($host,$db_user,$db_pass); mysql_select_db(…
类的命名采用驼峰法,并且首字母大写.如:User.UserType[不需要加后缀.如IndexController是没必要的,应当直接为Index.接口或者抽象类也保持这个规范] 属性命名采用驼峰法,并且首字母小写.如: instance.tableName [私有属性和受保护的属性前面应该加上下划线]类中的方法命名采用驼峰法,并且首字母小写.如: getLastError.setAttribute [私有方法和受保护的方法前面不加下划线] 函数的命名使用小写字母和下划线的方式.如: get_c…
(未整理....) (1)php cli方式下获取服务器ip [php]  function getServerIp(){          $ss = exec('/sbin/ifconfig eth0 | sed -n \'s/^ *.*addr:\\([0-9.]\\{7,\\}\\) .*$/\\1/p\'',$arr);               $ret = $arr[0];          return $ret;      } function getServerIp(){…
loading... 归纳总结了能找到的一些编码规范,形成自己所需要的编码规范. 参考网址:1.2 一.文件格式 缩进使用四个空格,不使用制表符.左花括号不另起一行. if (1 == $x) { $indented_code = 1; if (1 == $new_line) { $more_indented_code = 1; } } 每行代码长度应控制在80个字符以内,最长不超过120个字符.因为 linux 读入文件一般以80列为单位,就是说如果一行代码超过80个字符,那么系统将为此付出额…
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 duxcms是一款采用PHP开发,基于HMVC规则开发适合中小企业.公司.新闻.个人等相关行业的网站内容管理,它的后台登录处存在sql注入,黑客可通过这个漏洞获取管理员密码.直接任意用户登录后台等攻击 Relevant Link: http://www.wooyun.org/bugs/wooyun-2010-063055 2. 漏洞触发条件 . 用户名 -" union sele…
参考文件Yourphp\Lib\Action\User\PostAction.class.php public function add() { $form=new Form(); $form->isadmin=; $form->doThumb = $ : ; $form->doAttach = $ : ;; $this->assign ( 'form', $form ); $module = $this->module[$this->moduleid]['name']…
以管理员登录为例来介绍下$this->ajaxReturn与模板页进行ajax交互使用方法 首先看PHP控制器的处理,在application/Admin/Controller/LoginController.class.php控制器里加入登录验证方法 //ajax检验管理员登录是否正确 public function check() { $user = M('User'); if(!IS_AJAX){ $this->ajaxReturn(array( 'info' => '非法的请求方…
这个是一个检测ip是否非法的php函数,适应于白名单,黑名单功能开发,主要场景应用于:api来源限制,访问限制等. /** * 安全IP检测,支持IP段检测 * @param string $ip 要检测的IP * @param string|array $ips 白名单IP或者黑名单IP * @return boolean true 在白名单或者黑名单中,否则不在 */ function is_safe_ip($ip="",$ips=""){ if(!$ip) $…
function get_client_ip() { if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown'))…
什么是钩子函数 个人理解:钩子就像一个”陷阱”.”监听器”,当A发送一个消息到B时,当消息还未到达目的地B时,被钩子拦截调出一部分代码做处理,这部分代码也叫钩子函数或者回调函数 参考网上说法 譬如我们用鼠标在某个窗口上双击了一次, 或者给某个窗口输入了一个字母 A; 首先发现这些事件的不是窗口, 而是系统! 然后系统告诉窗口: 喂! 你让人点了, 并且是连续点了两鼠标, 你准备怎么办? 或者是系统告诉窗口: 喂! 有人向你家里扔砖头了, 不信你看看, 那块砖头是 A. 这时窗口的对有些事件会忽略…
<?php /** * 后台登录控制器 */ Class LoginAction extends Action{ /** * 登录视图 */ Public function index(){ $this->display(); } Public function login(){ // if(!IS_POST) halt('页面不存在'); if(I('code','','md5') != Session('verify')){ $this->error('验证码错误'); } $use…
一.项目分组 下载解压 ThinkPHP 3.2.3,在默认的应用 Application(./Application) 中,包含一个默认的模块 Home(./Application/Home). 需要在该默认应用中创建一个用于后台管理的 Admin 模块,可以通过在应用入口文件(./index.php)中绑定 Admin 模块来 自动生成 Admin 模块: define('BIND_MODULE','Admin'); 此时访问 http://serverName/index.php 便会自动…
一.验证码 1.页面前端显示 (验证码是图片标签,来源是控制器里的yzm()操作方法) <h1>登录</h1> <form action="__ACTION__" method="post"> <div>用户名:<input type="text" name="uid"/></div> <div>密码:<input type="…
if(! function_exists ('write_log') ) { function write_log($data, $name='debug', $date=null){ if (is_array($data)) { $data = json_encode($data); } if (strpos($data, "\n")) { $data = str_replace("\n", '\n', $data); } $type = $type ? $typ…
--获取客户端ip function get_client_ip() local headers=ngx.req.get_headers() local ip=headers["X-REAL-IP"] or headers["X_FORWARDED_FOR"] or ngx.var.remote_addr or "0.0.0.0" return ip end…