频道栏目
首页 > 程序开发 > Web开发 > PHP教程 > PHP框架专栏 > cakephp > 正文
php web网站开发安全
2016-01-07 14:29:50           
收藏   我要投稿
php是一门上手很容易,比较随性的计算机编程语言,刚上班的时候对php安全方面懂得不是很多,曾写过一些程序:前台提交的数据没有经过转义(<和>之类的html标签没有转成html实体),测试过程中后显示用户输入的内容成了html的标签格式,很是丢人啊,丢人是小事,重要的是程序的安全性没有保证。

以前看过一道很简单的面试题,大概意思是从:https://www.phpstar.cn/?category=php中获取获取参数category的值。题目很简单相信写过php的人都能把category的值得出来,比如$_GET['category']这样写的人比比皆是,这样写不能说不能取到值,只是没有经过安全性的处理。

下面说一说php的安全的例子:

1.include的使用。

include$action.'.php';

?>

其中的$action变量可能是从外边get方式的来的,这样看貌似是没有问题,但是如果$action = ‘https://www.baidu.com/error’呢?所以这里要加一个判断:要引入的文件是不是存在。

2.跨站运行脚本xss:比如一个评论框中用户输入

<script type="text/javascript">  
    alert('IT博客!');  
</script>

如果程序没有做什么处理直接显示的话,想想会有什么事情发生?一个弹窗就显示在用户的眼前“IT博客!”。

3.SQL注入

username = '{$username}' AND passw = '{$passw}'"; $result = mysql_query($sql); ?> 

假如说$username获取过来的值是:admin ‘ or ’1 = 1,$passw 亦是如此:passw ‘ or ’1 = 1,以上的sql会变成

 减少这样的不安全编程的方法很简单:对从用户端传过来的数据进行处理数字用intval,字符串用htmlspecialhtmlspecialchars

 

 

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 网站开发
上一篇:PHP利用$_SERVER["HTTP_REFERER"]防止站外链接和任意网址跳转漏洞
下一篇:jQuery插件lazyLoad.js 实现网页图片延迟加载
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站