Tornado获取客户端IP(补充)

今天发现犯了一个错误,前几天写过一篇“tornado获取客户端IP”,但今天查看数据库中数据时候发现所有的IP均是127.0.0.1(因数据库使用bigint存储,所以数据库中看到IP均是2130706433),在Group中搜索了一下发现Ben以前解释过这个问题BenDarnellTornadosupportsbothx-real-ipandx-forwarded-for,butyouhavetosetxheaders=TrueinyourHTTPServerconstructortohaveitlookateitherofthem.-Ben即tornado支持通过x-real-ip或x-forwarded-for来获取IP,但前提是需要在你的HTTPServer实例中增加xheaders=True参数,如:http_server=tornado.httpserver.HTTPServe...

精彩继续

tornado获取客户端IP

网上搜到的用tornado获取客户端IP都使用self.request.headers['X-Real-Ip'],但实际翻tornado源代码发现只需要获取self.request.remote_ip即可取到客户端IP见引用tornado源代码(对应文件为httpserver.py中HTTPRequest属性remote_ip)ifconnectionandconnection.xheaders:#SquidusesX-Forwarded-For,othersuseX-Real-Ipself.remote_ip=self.headers.get("X-Real-Ip",self.headers.get("X-Forwarded-For",remote_ip))#AWSusesX-Forwarded-Protoself.protocol=self.headers.get("X-Scheme"...

精彩继续

Javascript模拟ASP(.NET)的Request.QueryString获取URL中参数

Javascript获取URL中GET参数一般都是用&把URL拆分成数组,然后再去遍历数组获取参数。今天分析一段统计代码正好看到那段统计代码中模拟了ASP(.NET)Request.QueryString方法来获取URL中的GET参数值。varRequest={QueryString:function(key){varsvalue=window.location.search.match(newRegExp("[\?\&]"+key+"=([^\&]*)(\&?)","i"));returnsvalue?svalue[1]:svalue;}};

精彩继续

Javascript获取页面来源(referer)

经常使用其他脚本语言(ASPASP.NETPHP等)获取页面的浏览来源,第一次使用Javascript获取页面的referer。vargetReferrer=function(){varreferrer='';try{referrer=window.top.document.referrer;}catch(e){if(window.parent){try{referrer=window.parent.document.referrer;}catch(e2){referrer='';}}}if(referrer===''){referrer=document.referrer;}returnreferrer;};

精彩继续