| 网站首页 | 资讯 | 影音 | 图片 | 论坛 | 模拟驾考 | 免费取名算命 | 瓷都工具 | 留言本 | 域名 | 瓷都商城 | 汇款 | 
您现在的位置: 瓷都热线|诚信中国:“一就是一”(1941.CN) >> 资讯 >> 教程技巧0 >> 服务器类 >> 正文 登录 注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
IIS下配置Php+Mysql+zen
PHP网站漏洞的相关总结
PHP木马的攻击的防御之道
PHP、MySQL教程
Apache、php、mysql在wi
拥有图形界面的Win平台A
IIS+PHP+MySQL+Zend Opt
PHP安全之:重燃你的PHP安全之火         ★★★
PHP安全之:重燃你的PHP安全之火
作者:未知 文章来源:enet论坛 更新时间:2006-8-4 23:02:57
【声明:转载此信息在于传递更多信息,其内容表达的观点并不代表本站立场,由这些信息所产生的一切后果本站不负任何责任。如果您对本信息有什么意见,欢迎和本站联系,谢谢!】http://CiDu.Net

  长度问题

  别以为找漏洞的就是为了拿个管理员密码或者webshell,也有些不安分的人,也就是DDOSer(拒绝服务攻击者),他们的花样很多,但对于程序员来说,关键就在过滤。我所说的长度问题,不仅仅是个字符的长度,也包括时间的长度,你一定见过有人写个脚本,一下就注册成千上万的用户,或者纯粹的写垃圾数据把数据库拖死。这个时候,限制数据提交时间和验证码就起作用了。不过要真的遇到狠毒的人,一个变量的过滤问题就可以把网站搞瘫痪,这比用什么网络僵尸那些软件来得更快。

  不大不小的问题

  1.绝对路径的泄露

  这个问题可真是不大不小,很多程序都有,这也算安全的一部分。至少你玩注入loadfile()需要吧。当然,这时的php.ini中的display_errors也可以起作用了。

  2.对后台的验证

  不要说不信,我就曾看到一些程序这样,你去测试,注册个用户,提交管理员编辑用户的URL,比如admin_member.php?action=edit&id=55level=4&username=zizzy&power=1这样相应的添加管理员的URL,你会发现几乎没验证,直接成功了。所以,对于后台的检测,也很有必要,就像刚出的Discuz的那个漏洞。

  过滤问题不知不觉就说了那么多,写了好多处该过滤的提醒,现在也该说说了如何进行过滤。

  1.在用户输入任何数据,也就是提交变量进数据库时,我们必须使用addslashes()进行过滤,像我们的注入问题,一个addslashes()也就搞定了。其实在涉及到变量取值时,intval()函数对字符串的过滤也是个不错的选择。

  2.在php.ini中开启magic_quotes_gpc和magic_quotes_runtime。magic_quotes_gpc可以把get,post,cookie里的引号变为斜杠。magic_quotes_runtime对于进出数据库的数据可以起到格式话的作用。其实,早在以前注入很疯狂时,这个参数就很流行了。

  3.在使用系统函数时,必须使用escapeshellarg(),escapeshellcmd()参数去过滤,这样你也就可以放心的使用系统函数。

  4.对于跨站,strip_tags(),htmlspecialchars()两个参数都不错,对于用户提交的的带有html和php的标记都将进行转换。比如尖括号"<"就将转化为 "<"这样无害的字符。

  5.对于相关函数的过滤,就像先前的include(),unlink,fopen()等等,只要你把你所要执行操作的变量指定好或者对相关字符过滤严密,我想这样也就无懈可击了。

  服务器安全设置

  谈服务器安全设置,我觉得很不实际的,我们大多数人都用虚拟主机,对于php.ini怎么设,那个只有网管自己看着办了。不过我还是说下,

  1.设置“safe_mode”为“on”

  这对于广大空间商来说是一个伟大的选项,它能极大地改进PHP的安全性。

  2.禁止“open_basedir” ,这个选项可以禁止指定目录之外的文件操作,还能有效地消除本地文件或者是远程文件被include()等函数的调用攻击。

  3.expose_php设为off ,这样php不会在http文件头中泄露信息.

  4.设置“allow_url_fopen”为“off” 这个选项可以禁止远程文件功能,极力推荐

  5“log_errors”为“on” 错误日至得带上吧

  6.对于“display_errors,register_globals”两项要视情况而定了,display_errors太消极了,错误全关,想调试脚本都不行。至于register_globals(全局变量)把它开起来,关了会很麻烦,现在大多数程序没它支持就别想用了。

  这些是最必要的设置。关于php服务器更高的安全设置是门学问,也就不在本文探讨范围内了。

  这篇文章到这里就要结束了,也许你会说,你说的这些都是对开源的程序才有用,对那些zend加密的程序不就没办法可使了吗?其实,对安全来说,固其根本才是重要的吧,你再怎么加密难道逃得过黑盒测试?总有一天会被发现的吧。

  限于篇幅也就到这里了,我们对于php程序安全也有了初步的探索。为广大读者朋友考虑,举的例子也算是很容易去理解地,当然前提是你得会点php,要不然又是看天书了(哇,不要看到这里才问我啥是php?)。整篇文章并不是黑客教学,而是为那些想在php安全上发展的初学者和php程序员写的。如果以后你又听到谁谁又发现什么漏洞了,再怎么变也就是那些基本的东西而已。我希望本文能为你们开阔下思路,更好的发展下去。嗜酒成痴剑亦狂,重燃你的php安全之火,带着对php的执着上路吧。//by http://CiDu.Net/

上一页  [1] [2] [3] 


声明:以上信息资料大都是网上搜集而来,版权归作者,如有版权问题请留言告知我将马上改正。
文中所提到的各种观点只是原文观点,各种说法未经一一确认。并不代表本站认可此观点!!
资讯录入:admin    责任编辑:admin 
  • 上一篇资讯:

  • 下一篇资讯:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    点击数:
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)