标签存档: PHP - 第6页

Bypassing script filters with variable-width encodings

Author: Cheng Peng Su (applesoup_at_gmail.com)
Date: August 7, 2006
We’ve all known that the main problem of constructing XSS attacks is
how to obfuscate malicious code. In the following paragraphs I will
阅读全文——共6112字

PHP字符编码绕过漏洞总结

其实这东西国内少数黑客早已知道,只不过没有共享公布而已。有些人是不愿共享,宁愿烂在地里,另外的一些则是用来牟利。
该漏洞最早2006年被国外用来讨论数据库字符集设为GBK时,0xbf27本身不是一个有效的GBK字符,但经过 addslashes() 转换后变为0xbf5c27,前面的0xbf5c是个有效的GBK字符,所以0xbf5c27会被当作一个字符0xbf5c和一个单引号来处理,结果漏洞 就触发了。
mysql_real_escape_string() 也存在相同的问题,只不过相比 addslashes() 它考虑到了用什么字符集来处理,因此可以用相应的字符集来处理字符。在MySQL 中有两种改变默认字符集的方法。
阅读全文——共2850字

PHP session回收机制及php.ini session生命期gc_maxlifetime配置/gc_maxlifetime无效

由于PHP的工作机制,它并没有一个daemon线程,来定时地扫描session信息并判断其是否失效。当一个有效请求发生时,PHP会根据全局变量 session.gc_probability/session.gc_divisor(同样可以通过php.ini或者ini_set()函数来修改) 的值,来决定是否启动一个GC(Garbage Collector)。默认情况下,session.gc_probability = 1,session.gc_divisor =100,也就是说有1%的可能性会启动GC。
GC的工作,就是扫描所有的session信息, 用当前时间减去session的最后修改时间(modified date),同session.gc_maxlifetime参数进行比较,如果生存时间已经超过gc_maxlifetime,就把该session删 除。
阅读全文——共1162字

PHP中如何保持SESSION不过期,原理及方案

PHP中如何保持SESSION以及由此引发的一些思考  最近的一个项目,里面有一个比较大的表单,用户完成它需要很多时间,很多用户花了千辛万苦完成之后,一提交发现SESSION过期,系统退出了,所以引起 了研究如何设置SESSION以及保持SESSION在线的需要,下面是一些心得体会。
什么是SESSION?
按照WIKI的解释,SESSION是存在于两个通信设备间的交互信息,在某一时间建立,经过一定的时间后失效。常见的SESSION有:TCP SESSION、WEB SESSION(HTTP SESSION)、LOGIN SESSION等。
根据OSI模型中,会话实现的位置不同,SESSION主要分为几种,一种是应用层会话,包括WEB SESSION(HTTP SESSION)和telnet远程登录session;会话层实现的,包括Session Initiation Protocol(SIP)和Internet Phone Call;在传输层实现的有TCP SESSION。
阅读全文——共4376字

php获取客户端IP地址方法大汇总

php获取客户端IP地址方法方法1
PHP Code one:

阅读全文——共1592字

windows下安装多个不同版本的apache+php/多版本共存

如下几个php根目录下文件,拷到apache的/bin/目录
php5ts.dll
libmysql.dll
apache配置文件里
阅读全文——共280字

php程序优化的几个关键点

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
2、$row[’id’] 的速度是$row[id]的7倍。
3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。
4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。
阅读全文——共2863字

php在windows2003/IIS下安装php程序运行错误“您未被授权查看该页”

核心:给php安装目录赋上users组读与执行权限
环境:新安装服务器,windows2003/iis,windows安装目录C盘的权限设置很严格,很多没有必要的的用户权限都删掉了。配置phpphp文件解压缩到c:\php5;设置系统变量:path增加c:\php5,新建一个系统变量PHPRC值为c:\php5;拷一个配置好的php.ini文件到c:\php5;iis站点里设置php文件映射,新增加isapi.dll的web服务扩展,并设置为启用状态;重启windows;
然后,运行一个phpinfo.php的测试文件(文件内容为<%php phpinfo(); %>),用以检测安装是否正确。但很奇怪的是出现“您未被授权查看该页”的错误。突然想起来,要对pho.ini设置web站点用户的读与执行权限,于是赶快给php.ini文件赋iis_web组的读与执行权限。再执行,还是看到“您未被授权查看该页”错误页。单独对iis站点用户赋权限也还是不行。[注]iis_web组是所有web站点用户的组,没有赋什么特殊权限,只对各自iis站点目录赋相应权限。这也是“最小权限”原则。
阅读全文——共1146字

世界最大的PHP站点 Facebook后台技术探秘

在今年举行的Facebook F8开发者大会上,51CTO带您了解了其最新的开放图战略和语义搜索。今天我们一起来了解Facebook背后的软件,看看作为当今世界上访问量最大的网站之一,Facebook是如何保证5亿用户的系统一直稳定可靠的运行。
Facebook的扩展性挑战
在我们讨论细节之前,这里有一些Facebook已经做的软件规模:
◆Facebook有570000000000每月页面浏览量 (据Google Ad Planner)
阅读全文——共3257字

iis下PHP扩展安装scws手记/PHP Startup: Unable to load dynami library

iis下PHP扩展安装scws手记最近学习中文分词,SCWS是一个比较小巧的分词系统,以php扩展的形式安装到web服务器上,官方释放出的是unix tar包,有人以此编译出windows版的dll扩展。电脑上同时安装有iis与apache两个web服务器,因为公司服务器使用的是iis,所以大多数的开发工作还是在iis下进行的。SCWS安装很简单。首先安装完成后到iis下测试,没有载入扩展,甚至重启电脑也不行;查看window日志里面没有相关信息。命令行下运行apache/bin/目录下的httpd.exe,可以显示一些出错信息。于是到apache下查找出错原因,先修改php.ini里display_startup_errors = On,命令行下运行,非常正常没有错误,浏览器打开apache下的phpinfo.php文件(里面只有phpinfo();一行程序代码),运行测试程序也没有问题,完全可以正常分词。怀疑SCWS不支持iis.再到iis里运行,弹出这样的对警示框错误PHP Startup: Unable to load dynami library ‘C:\php52\ext\php_scws.dll’ – 拒绝访问。看来是没有权限,查看这个dll跟其它dll,果然权限不一致,少了guests跟users两个组的权限。想起来原来安装这个dll的过程:从网上下载文件,解压缩后,剪切到这里的,“剪切-粘贴”时文件权限还是原来的权限。于是关闭apache,在ext目录里就地复制文件php_scws.dll,然后把原php_scws.dll文件删掉,把“复件 php_scws.dll”改名为php_scws.dll,重启iis,成功。
阅读全文——共983字

Pages: Prev 1 2 3 4 5 6 7 8 Next