[PHP]实现屏蔽某国家IP的访问

现在有个需求为[禁止某国家的IP访问网站],思路一为:先获得访问网站的IP,然后判断该IP是否为某个国家的IP,来实现该功能。 获得IP方法如下代码: function GetIP(){ if(!empty($_SERVER[“HTTP_CLIENT_IP”])){ $cip = $_SERVER[“HTTP_CLIENT_IP”]; } elseif(!empty($_SERVER[“HTTP_X_FORWARDED_FOR”])){ $cip = $_SERVER[“HTTP_X_FORWARDED_FOR”]; } elseif(!empty($_SERVER[“REMOTE_ADDR”])){ $cip = $_SERVER[“REMOTE_ADDR”]; } else{ $cip = “无法获取!”; } return $cip; } 获得IP之后然后判断该IP是属于哪个国家即可,而需要有一个IP库,或者通过get方式从ip138中获得对应地理位置信息。   思路二: 通过对.htaccess来屏蔽IP访问,实现代码如下: Order Allow,Deny Deny from 222.240.253 Deny from 222.240.253.122 Allow from all 这样的IP段访问就会提示: Forbidden You don’t have permission to access / on this server. 思路三: … Continue reading “[PHP]实现屏蔽某国家IP的访问”

[JQuery]实现描点平滑移动

以前写过[定位到某个锚点]功能,使用的是#+描点名称,没有采用平滑功能。而实现平滑移动功能就需要用到JQuery的animate方法来实现动态的移动。请看如下代码: /** * 描点平滑移动 * 如果传递元素ID,则描点到该元素的位置 * 如果没有传递元素ID(为空),则返回到顶部 * @param {type} elements * @returns {undefined} */ function goto(elements) { var pos = 0; if (elements !== “”) { // 定义将要去的描点位置 pos = $(elements).offset().top; } // 实现平滑移动 1000代表时间ms $(“html,body”).animate({scrollTop: pos-20}, 1000); }

[技术排行榜] 2014年2月编程语言排行榜:VB.NET成主角 首次排入前十

外国人没有春节,不放新年假。所以说,仅对我们而言2014年2月编程语言排行榜是新年的第一次语言排行榜。没有让我们失望的的是,新一年的开始,总是有惊喜。 本月编程语言排行榜,一到五位分别是:C、Java、Objective-C、C++、C#,和上月比保持不变。Visual Basic .NET闯入了排行榜前十,排在第10位。这样的排名位置状况可算是相当神奇的事情。为什么这么说?归结一下两个原因(也许还有其他原因)。 首先,Visual Basic .NET作为微软Visual Basic 6.0 version(被广泛使用高度好评的语言)的继承者,可算是压力山大。为了能在Microsofts .NET平台上运行,相较于之前的6.0版本,这位“继承者”的前进步伐有些激进,并没有得到大家的认可。因此,导致了一大波软件开发者拒绝迁移至.NET。同时Visual Basic .NET在很长一段时间内遭到大家的诟病。 第二个原因就是,Visual Basic .NET的发展进度在外界看来被微软放缓了。关于这一点,我们在最新的Visual Studio2013版本中就能看到,其中不包含任何新的Visual Basic .NET语言功能。 基于以上两个原因,此次Visual Basic .Net能闯入前十,让我们感到意外。不知道新年的新气象,能不能为Visual Basic .Net,带来好的运气,如同Transact-SQL一般,成为一匹黑马?顺带要说的是,Transact-SQL本月排名第11为,虽然没有进入前十,但是势头依旧饱满。 排行榜前20名:   编程语言排行后50名:   借此机会,小编也再次为大家总结汇总以下Visual Studio .Net的历史进程和发展。 Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言,可以看作是Visual Basic在·Net Framework平台上的升级版本,增强了对面向对象的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好,在业界引起不小的争议。 大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment).SharpDevelop是另一种可用的开源的IDE。VB.NET需要在.Net Framework平台上才能执行。 微软可视化Basic语言革命  1991年4月,Visual Basic诞生,Visual Basic 1.0 Windows版本发布。这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的。 1992年9月,Visual Basic 1.0 DOS版本发布。 1998年夏天,VB6.0发布。  2001年,Visual … Continue reading “[技术排行榜] 2014年2月编程语言排行榜:VB.NET成主角 首次排入前十”

[JQuery]清除标签的style样式

对于html标签而言,一般都是在css文件中,通过id或者class来添加标签样式,所以想给标签换样式的话,就直接可以更换标签的class属性值。但是需要修改标签的style属性值,例如想清除掉style属性的样式值。实现代码如下: HTML代码: <div id=”jhonse” style=”padding:5px; “></div> JQuery代码: $(“#jhonse”).removeAttr(“style”); //ie,ff均支持 $(“#jhonse”).attr(“style”,””); //ff支持,ie不支持

[php] 解决HTTP request length 139072 (so far) exceeds MaxRequestLen (131072)

在用KindEditor插件上传图片的时候,出现如下错误提示界面:   然后再查看apache错误日志,发现是如下问题: [Sun Feb 09 09:21:54.919921 2014] [:warn] [pid 4736:tid 1104] [client 127.0.0.1:51513] mod_fcgid: HTTP request length 139072 (so far) exceeds MaxRequestLen (131072) 上网查资料,发现fastcgi默认的请求大小为131072,于是在apache配置中添加了MaxRequestLen 配置就好了。 找到apache的配置文件httpd.conf文件,找到如下代码: <IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi .php # Where to look for the php.ini file? FcgidInitialEnv PHPRC “d:/wamp/bin/apache/apache2.3.14/bin” # Set PHP_FCGI_MAX_REQUESTS to greater than or equal to FcgidMaxRequestsPerProcess # … Continue reading “[php] 解决HTTP request length 139072 (so far) exceeds MaxRequestLen (131072)”

[JQuery]模拟鼠标点击事件

在页面弹出框,采用的是lightbox_me插件,而需要用到一个模拟点击关闭事件,大致功能是当异步提交数据之后,如果数据正常提交,提示提交成功,并把弹出框隐藏,当时想到的是重新写个方法来实现,但是弹出框中有一个关闭按钮,刚好实现了如上功能,所以只需模拟鼠标点击该按钮即可。请看如下截图:   实现模拟点击事件代码如下: $(“.close”).trigger(“click”); 方法说明: 定义和用法 trigger() 方法触发被选元素的指定事件类型。 触发事件 规定被选元素要触发的事件。 语法 $(selector).trigger(event,[param1,param2,…]) 参数 描述 event 必需。规定指定元素要触发的事件。 可以使自定义事件(使用 bind() 函数来附加),或者任何标准事件。 [param1,param2,…] 可选。传递到事件处理程序的额外参数。 额外的参数对自定义事件特别有用。