网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > PHP > 正文
使用PHP开发网站过程中你注意到这些安全知识了
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/05
下载{$ArticleTitle}原创论文样式

1 2 3 下一页

  1、古老的欺骗SQL语句

  在默认模式下,即使是你忘了把PHP.ini拷到/usr/local/lib/php.ini下,php还是打开magic_quotes_gpc=on。

  这样所有从GET/POST/Cookie来的变量的单引号(')、双引号(")、反斜杠backslash()以及空字元NUL (the null byte)都会被加上反斜杠,以使数据库能够正确查询

  但是在php-4-RC2的时候引入了一个配置文件php.ini-optimized,这个优化的php.ini却是magic_quotes_gpc=off的。某些网管看到optimized字样也许就会把php.ini-optimized拷到/usr/local/lib/php.ini,这时就比较危险。象比较简单的验证,假设没有过滤必要的字符:

  select * from login where user='$HTTP_POST_VARS[user]' and pass='$HTTP_POST_VARS[pass]'

  我们就可以在用户框和密码框输入1‘ or 1='1通过验证了。这是非常古董的方法了,这个语句会替换成这样:

  select * from login where user='1' or 1='1' and pass='1' or 1='1'

  因为or 1='1'成立,所以通过了。

  解决的办法最好就是过滤所有不必要的字符,还有就是推荐对于从GET/POST/Cookie来的并且用在SQL中的变量加一个自定义的函数:

function gpc2sql($str) {
  if(get_magic_quotes_gpc()==1)
    return $str;
  else
    return addslashes($str);
}

  主要是为了你的程序能安全移植在各种系统里。

  2、mail函数的第五个参数

  在php-4.0.5的时候,mail函数引入了第五个参数,用来设置在实际发送邮件的时候增加额外的命令行参数,但是没有很好的检查特殊SHELL命令字符,所以出现执行命令的大问题。就像手册里的例子:

(责任编辑:admin)

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号