一般我们在迭代一组数据的时候,需要创建一个数据,如果数组很大,则会消耗很大性能,甚至造成内存不足抛出error 比如: //Fatal error: Allowed memory size of 134217728 bytes exhausted (trIEd to allocate 32 bytes) in D:\php\test\index.php on line 5 range(1, 100000000); PHP5.5引入了迭代生成器的概念,迭代的概念早就在PHP有了,但是迭代生成器是PHP的一个新特性,这跟python3中的迭代生成器类似,看看PHP5.5的迭代......
当浏览器禁用cookIE后,php中的session一般还是可以使用的,但安全性会降低。 一、cookIE和session的关系 cookIE和session的区别在于cookIE是保存在客户端的,而session是存储在服务端中。它们都有生存时间的设置,session比cookIE更安全。当服务端与客户端通信后会生成会话后,会建立一个和浏览器的唯一会话PHPSESSID。这个id会在服务端保存,也会用cookIE形式保存在客户端中。 二、禁用cookIE的影响 禁用cookIE......
在介绍HttpOnly之前,我想跟大家聊聊CookIE及XSS。 随着B/S的普及,我们平时上网都是依赖于http协议完成,而Http是无状态的,即同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存与会话有关的任何信息,http是不会为了下一次连接而维护这次连接所传输的信息的。 所以为了在每次会话之间传递信息,就需要用到cookIE和session,无论是什么,......
由于近段时间帮朋友开发一个能够查询正方教务系统的微信公众平台号。有所收获。这里总结下个人经验。 开讲前,先吐槽一下新浪云服务器,一个程序里的 同一个函数 在PC测试可以正常运行,在它那里就会挂的现象。 老样子,我将在代码里注释清楚。使用下面的函数,将会获得两种形式的 cookIE,一种保存在文件中,一种直接以变量的形式返回。 经验提示: 有时候,在不同的代码运行环境中,带着文件cookIE 去访问会成功,而变量......
通过php的curl方法模拟请求的时候,通常都会遇到需要登录才能请求真实数据的网页。这个时候如果要抓取信息就必须在header里面传递cookIE值。这里简要说下如何在curl里面添加cookIE伪造登录模拟请求的方法。 1、通过chorme浏览器登陆网站,当然也可以使用firefox等可以看请求信息的浏览器,打开调试模式,看 Network 一栏的网页请求的 Request Headers 信息。 会看到关于请求所附带的 CookIE 信息,复制这里的CookIE值。 2、将复......
本篇文章简要分析一下在php中经常用到的exit和dIE的区别,有需要的朋友可以看一下。 首先思考一个问题: 如下代码会向页面显示什么? <?php dIE(123); ?> 曾经有段时间我一直认为 页面会显示 123,但实践结果告诉我,答案错了,页面一片空白! 一直不知道为什么,死活不输出123,为了让页面输出123,我把它修改为如下代码: <?php echo '123'; dIE(); ?> 网上的一段资料: PHP中exit()与dIE()的区别 PHP手册:di......
在开发中,我们碰到的跨域主要还是纠结在IE,页面中的IFRAME或者FRAME或者JS跨域的时候,IE有安全策略限制页面不带cookIE,但是如果我们加上P3P,就没有这策略的限制。这也是P3P来突破跨域的可行前提,其实在firefox chorme类浏览器里面是没有这个限制的。 首先我们了解一下P3P是什么? P3P(Platform for Privacy Preferences)是W3C公布的一项隐私保护推荐标准,以为用户提供隐私保护。 P3P标准的构想是:Web 站点的隐私策略......
在网页中嵌入的flash,默认是居于网页所有层中的最顶层的,即使设置z-index为多小也不起作用的。那么在当一个div层和一个flash对象在显示上有交集的时候,如何将这个div层显示在flash之上呢? 下面是作者在网上看到的解决办法。 其实只需要对flash对象设置就行了,不需要设置z-index属性值,只需要设置flash的一个属性:wmode。 关于如何在网页中嵌入flash的代码可以参照本站文章: 页面插入flash的代码 具体代码这里就不贴出......
最近用php写个程序(UTF8编码)时发现以http get方式发送奇数个汉字到服务器端时会出现乱码,刚开始以为PHP程序或服务配置有问题,后来检查了半天发现不是,在google中搜索到看到有人说是IE6存在兼容问题,IE7,IE8,FIREFOX,CHROME都没有这个问题。 对于这个问题解决方法很简单了,直接使用urlencode编码进行处理一下即可,注意如果使用的是javascript传递的参数,则使用的是encodeURI函数。其实这个应该是一个习惯的问题了,对于所......
jquery live方法的作用是向动态生成的内容添加事件响应,具体这里距不多说了,有兴趣的可以参照本站这篇文章: jQuery向动态生成的内容添加事件响应(jquery live方法简介) 但是昨天却发现这个live方法在IE浏览器下对change事件没有作用,经过几番折腾,终于将这个问题解决,下面是jquery live change事件在IE下失效的解决方法。 $("#phpernote select").live("change",function(){ //处理内容 }); 以上这段代码在火狐......
分享一个利用jquery实现的下拉菜单效果,代码简洁易修改。这里使用jquery分别实现了两种下拉菜单的效果,其实原理是一样的,经测试是兼容IE,火狐等各大主流浏览器的。下面贴一下这个下拉菜单的效果图。 jquery下拉菜单效果一: jquery下拉菜单效果二: 下面将效果一的代码贴一下,如果需要效果二的代码的话,可以自己修改或者在下面下载源码即可。 <html xmlns="http://www.phpernote.com/jquery-effects/114.html"> <......
做web开发经常会碰到需要获取浏览器的滚动条与顶部和底部的距离,然后做相应的处理动作。下面作者就如何通过js来获取浏览器滚动条距离浏览器顶部和底部的高度做一下分享,这个是同时兼容IE和firefox的。 首先我们需要知道的两个定义是: 滚动条距离浏览器顶部的高度 = 窗口滚动条高度; 滚动条距离浏览器底部的高度 = 文档(页面)内容实际高度 - 滚动条距离浏览器顶部的高度 - 窗口可视范围的高度; 好了,明白了这个定义,那......
最近有个项目中遇到这样一个问题: 有一个用于展示数据的带滚动条的DIV块,业务需求是当滚动条滚动时,将数据库中的数据读出并展示出来。这个本身问题不大,但实际中却发现存在这样一个问题,即当数据量比较大的时候,当滚动条滚动时,会不停的向后台发出数据请求,这个在访问量达到一定规模的时候,对服务器和浏览器都造成了巨大的压力。 为了解决这个问题,作者想到一个办法是当滚动条停止时,才向服务器发送请求数据。但是碰......
利用js打造的一个非常实用简易的文本编辑框,可以显示行号并且同时兼容IE和firefox等主流浏览器,如下效果图: 以下是该效果的源码: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>显示行号的文本框效果,兼容IE、火狐等浏览器</title> <style type="text/css"> #main{color:#666} textarea{border:1px solid #7f9db9;font-size:9pt;width:430px;color:#000} .grey{col......
js获取鼠标当前位置,兼容IE和firefox,具体见如下代码: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>js获取鼠标当前位置</title> </head> <body> <script type="text/javascript"> function mouseMove(ev){ Ev= ev||window.event; var mousePos=mouseCoords(Ev); document.getElementById("www.phpernote.com").value=mousePos.x; document.getEleme......
js验证输入框的内容只能输入数字和带小数点的数字,网上看到的,写法虽然有点奇特,但比较简洁,据作者验证,在各种浏览器下面还是没有问题的!下面将代码分享如下: 第一种方法,只能输入数字,能输带小数点的数字,这个在IE下是没有问题的,但不兼容firefox <input type="text" name="price" onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')" /> 第二种方法,下面这种方......
关于如何利用js屏蔽用户按下的方向键,这里作者和大家分享一下(同时兼容IE和firefox)!将以下代码加入到源代码的head和body区域均可。 document.onkeydown=function(e){ e=e||event; //屏蔽向左的方向键 if(e.keyCode==37){ alert('禁止向左的方向键!'); return false; } //屏蔽向上的方向键 if(e.keyCode==38){ alert('禁止向上的方向键!'); return false; } //屏蔽向右的方向键 if(e.keyCode......
有的时候我们不希望浏览我们网站的用户查看我们网站的源代码或者右键选择复制我们的文章的内容。那么这个时候我们可以做到的就是直接屏蔽掉用户鼠标右键的动作。使得用户在我们网页上面点击鼠标右键的时候没有任何反应。具体操作看如下代码(这里是同时兼容IE和firefox的): //屏蔽右键鼠标右键 document.oncontextmenu=function(){ alert('禁止鼠标右键菜单!'); return false; } 将以上js代码段加入到我们的js代码中,......
js屏蔽鼠标键盘事件,这里主要介绍如何使用js屏蔽包括鼠标右键,方向键,退格键,F5刷新键,Ctrl+N,Shift+F10 等事件,同时兼容IE、firefox、谷歌等浏览器。具体代码如下(注意以下没有明确说明不兼容Firefox的,则一定兼容Firefox): <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js屏蔽鼠标键盘事件(包括鼠标右键,方向键,退格键,F5刷新键等),兼容IE和firefox</title> ......
很多时候,在浏览网页时,我们需要考虑用户不小时关闭窗口的情况,特别是当用户有很重要的数据还没有保存,我们的程序有必要对用户进行提醒。这个时候我们可以通过是用 javascript window.onbeforeunload() 这个方法来阻止用户关闭窗口,见如下这个例子: <script type="text/javascript"> window.onbeforeunload=function(event){ return 'hello'; } </script> 这样当用户按了关闭按钮时,便会弹出如下这......
由于遮盖层的崛起,现在网站上使用css透明效果非常的多,对于支持W3C的浏览器,可以使用opacity属性,而在IE下可以使用滤镜filter来实现透明效果,OK,废话不多说,下面我们来写一个通用的CSS透明效果吧,兼容了目前比较流行的IE和firefox浏览器。相关css代码如下: .setOpacity{ opacity:0.75; filter:alpha(opacity=75); -ms-filter:"alpha(opacity=75)"; -khtml-opacity:0.75; -moz-opacity:0.75; }
一个在apache+XP下开发的企业网站上传到iis6.0服务器,出现setcookIE设置无效的问题,仔细研究了研究,总结了一下 php setcookIE 无效大概有以下三种原因。 一、程序文件存在 BOM 代码,对于这种情况,只需将源代码拷贝出来,然后新建一个文件保存进去即可。至于如何查询文件是否存在 bom 代码,可参考本站文章: php bom去除工具,php批量去除bom的代码 二、检查PHP.ini里面相关cookIE的设置,配置相关可以网络上面搜索。 三、......
今天给一家网站做了个弹出咨询框效果,做完后发现在火狐浏览器(360浏览器)里面弹出的div层总是被页面上的flash层给遮盖住了,在IE浏览器下面倒是没有问题。上网搜了搜,找到了解决办法,现就如何解决DIV层被Flash遮盖问题(兼容IE和火狐浏览器)做一下分享。 对于IE浏览器下解决DIV层被Flash遮盖的问题可在页面加载flash的代码段中加入如下参数: <param name="wmode" value="transparent" /> 对于firefox浏览器下解决DIV层......
IE6曾经是最著名的浏览器,然而在兼容性和安全性上的众多诟病,最终导致了“拒绝IE6”运动,并得到了那些不愿意再为照顾IE6而耗费额外编码时间的网络公司的支持。据CNN报道,现在仍有15-25%左右的用户还在使用IE6,虽然与鼎盛时期的80%差距悬殊,但也足以让支持这场运动的人发表如下说明: 微软IE6发布于2001年末,在当时是相当好的浏览器,但现在已经是2009年了,仍有很大一部分网民还在使用,是时候让它下岗了。 web开发人员普......
透明图片通过css的设置可以在网页中显示的更完美,但是在IE6中,透明背景却被显示了一个灰色的背景。这实在是一个令人非常不爽的bug,下面就分享一种方法彻底解决网页中透明图片显示灰色背景的尴尬问题吧。 这里主要用到了一个国外牛人写的 js 文件,名为 DD_belatedPNG.js(官方网站:http://www.dillerdesign.com/experiment/DD_belatedPNG/),可以直接去官网下载该文件。 该文件的下载地址:http://www.dillerdesign.com/exp......
使用 javascript 判断当前用户点击的是鼠标左键还是右键是很简单的,只需要给对象加上 onmousedown 事件,通过 javascript 的 e.button 值来进行判断,下面直接上例子。 document.onmousedown=judgeMouseButton; function judgeMouseButton(e){ var e=window.event||e;//获取事件对象 var value=e.button; if(value==2||value==3){ alert('点击的是鼠标右键'); }else{ alert('点击的是鼠标左键'); } }
用 JS 计算鼠标在页面上的位置并非难事,但由于IE和Firefox对获取鼠标当前位置的方法不同(IE为event.x|y,FF为event.pageX|Y),一般采用的是event.clIEntX代替两者,但当出现滚动条时event.clIEntX在IE和FF中的表现会略有不同。因此 js 获取鼠标当前位置也因各浏览器的区别而有所不同。下面介绍一种通用的获取鼠标在页面上的位置的方法。 /** * 获取鼠标在页面上的位置 * @param ev 触发的事件 * @return x:鼠标在页面上的横......
我们都知道使用PNG图片的透明或半透明的特性能做出非常漂亮的网页来。Firefox和Opera对PNG的支持都没问题,都是IE却无视PNG图片这个优秀的特性,虽然现在IE7已经支持了,但是IE6却还是不行。具体的问题就是在IE6中的".png"格式的图片会无端的被加上了灰色的背景。对于这种问题,网上有很多解决问题的办法,作者经过实践也总结出了几种办法解决这个问题,现记录如下。 (1)使用javascript实现IE6下png图片透明,具体代码如下......
长夜漫漫,无心睡眠,研究了一下Jquery操作CookIE的方法,这里直接将成品贴出来,不做分析,下面有使用方法介绍。 jQuery.cookIE=function(name,value,options){ if(typeof value!='undefined'){ options=options||{}; if(value===null){ value=''; options.expires=-1; } var expires=''; if(options.expires&&(typeof options.expires=='number......
Js操作CookIE总结(设置,读取,删除),工作中经常会用到的哦!下面是详细代码,如有错误,请留言指正! /* *功能:设置CookIE *cookIEName 必选项,cookIE名称 *cookIEValue 必选项,cookIE值 *seconds 生存时间,可选项,单位:秒;默认时间是3600秒 *path cookIE存放路径,可选项 *domain cookIE域,可选项 *secure 安全性,指定CookIE是否只能通过https协议访问,一般的CookIE使用HTTP协议既可访问,如果设置了Secure(没有......