关于php程序的一些安全问题
俗语说的好,滴水能穿石,铁杵磨成针,点滴的努力,点滴的积累,持续不断进步,成长是巨大的. 相信小树苗会成大树,但每天都要不断吸收营养. 可能说到安全,很多朋友会想到黑客,想到注入,想到跨站,想到肉鸡. 等等, 一大群的炫耀词语让人眩晕, 今天只说存在于php程序中的一些安全细节问题,很早前拜读过前辈的一文,相信很多人看到过转载版本, 文章提到一些函数的过滤有些函数在程序中是经常使用的,像include(),require(),fopen(),fwrite(),readfile(),unlink(),eva l()以及它们的变体函数等等。这些函数都很实用,实用并不代表让你多省心,你还得为它们多费点心。 All puts is invalid,提交变量进数据库时必须过滤, 必须使用addslashes()进行过滤,如pw内置的pwEscape()过滤 ,在涉及到变量取值时,intval()函数对字符串的过滤也是个不错的选择, 当然还有更多,比如pw内置函数,Char_cv,InitGP,initGP,等。只是一部分,一种方法,一种态度,细节不会因为细而不造成危害, 在编写php程序时养成一种良好习惯.可以避免更多的危险和危害,虽说没有一个系统是绝对的安全,因为安全设计的东西太多, 但好的习惯确实可以减少安全的隐患,减低运营的成本. 对于php.ini的设置,几个建议吧, 引用 1、设置"safe_mode"为"on",这对于广大空间商来说是一个伟大的选项,它能极大地改进的安全性。 2、禁止"open_basedir" ,这个选项可以禁止指定目录之外的文件操作,还能有效地消除本地文件或者是远程文件被include()等函数的调用攻击。 3、expose_php设为off ,这样不会在http文件头中泄露信息。 4、设置"allow_url_fopen"为"off" 这个选项可以禁止远程文件功能,极力推荐 5、register_globals参数在 PHP 的 4.2.0 及以上版本中默认为屏蔽。虽然这并不认为是一个安全漏洞,但是的确是一个安全风险。因此,应该始终在开发过程中屏蔽 register_globals。 有心的朋友会发现本次安全补丁其实在没开启register_globals的时候,是无法得手的,也算不幸的万幸. 而有些程序必须开启 register_globals 才能工作,而且还存在安全过滤问题的话,实在是自己给自己留后门. 最后,希望所有的php程序员,养成良好的安全意识,不管环境如何,php层的安全一点要有忧患意识,敲响自己的警钟,对自己负责,对他人负责. 让开源的时代里开源的程序走的更远! 孤乃抛砖引玉,诸公请多包涵!
|
|
最新文章 |
图片主题 | ||||
|
||||
热门文章 |
推荐文章 | ||||
|
||||
相关文章 |
便民服务 | ||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||