保证PHP网站安全的一些编程技巧
来源:互联网 发布:淘宝高仿手表店铺名字 编辑:程序博客网 时间:2024/06/06 12:39
网站的安全是我们必须要考虑的问题,只要我们做好了防范措施,就可以基本防止一些人利用网站本身的漏洞进行网站操作了。比如用htmlentities()预防XSS攻击,用mysql_real_escape_string防止sql注入等等。
PHP包括其他任何网络编程语言的安全性,具体表现在本地安全性和远程安全性两个方面,这里我们应该养成如下的几个习惯确保我们的PHP程序本身是安全的。
1、 验证用户输入的任何数据,保证PHP代码的安全
这里有一个技巧就是使用白名单,所谓白名单就是说:我们要求用户的数据应该是这样的,例如我们要求用户的输入是一个数字,我们就只检验这个值是否是一个数字就行了,而不必检验他到底是什么——其实他有可能是个恶意脚本。
对于这个检验我们不能只在客户端的javascript进行,JavaScript只是为了提高来访用户的体验而产生的,而不是验证的工具。因为任何一个来访的用户都可能会,也有可能无意间就禁用了客户端脚本的执行,从而跳过这层验证。所以我们必须在PHP的服务器端程序上检验这些数据。
2、 保护数据库的安全——对即将运行于数据库的SQL语句进行安全性预处理。
任何时候都要对执行前的SQL语句,进行mysql_real_escape_string操作——该函数的用法请参考PHP手册。诸多PHP的数据库抽象层例如ADODB都提供了类似的方法。
3、 不要依赖也不该依赖的PHP设置——环境有时候不可靠
不依赖,magic_quotes_gpc=On,在程序编制的过程,尽量关闭这个配置选项,任何时候判断这个选项后再对用户输入的数据进行处理。切记——PHP v6 中将会删除这个选项。尽量在合适的时候使用addcslashes 系列函数——请参考手册。
4、 验证数据来源,避免远程表单提交
不要使用$_SERVER['HTTP_REFERER']这个超级变量来检查数据的来源地址,一个很小的菜鸟黑客都会利用工具来伪造这个变量的数据,尽可能利用Md5,或者rand等函数来产生一个令牌,验证来源的时候,验证这个令牌是否匹配。
5、 保护会话数据,特别是Cookies
Cookie是保存在用户的计算机上的,保存之后任何用户都有可能出于某种原因更改他,我们必须对敏感数据进行加密处理。Md5、sha1都是个不错的加密方法。
6、 利用htmlentities()预防XSS攻击
对用户可能输入脚本语言的地方的数据进行htmlentities()操,将多数可以产生程序错误的用户输入进行实体化。记住要遵循第一个习惯:在 Web 应用程序的名称、电子邮件地址、电话号码和帐单信息的输入中用白名单中的值验证输入数据。
- 保证PHP网站安全的一些编程技巧
- PHP安全编程之网站安全设计的一些原则
- PHP安全编程:网站安全设计的一些原则
- jQuery技巧:保证你的代码安全
- 保证服务器安全的七个技巧
- 240%;">保证网站安全
- 企业如何保证网站安全
- PHP的一些技巧
- php的一些技巧
- 【转】php编程中一些技巧函数的应用
- 【转】 网站安全知识 ASP网站黑客防范编程技巧
- PHP安全的一些想法
- PHP安全的一些事
- 百亿级日志处理稳定性保证的一些技巧
- PHP网站安全,PHP程序安全的几个措施
- PHP网站安全,PHP程序安全的几个措施
- java语言中解决一些安全问题的技巧(安全编程非常重要标签)
- php积累的一些技巧
- zSpace设备
- Autodesk AutoCAD 2015 英文版+简体中文版,附有效注册机
- Android Low Memory Killer ---1
- java web 随Tomcat一起启动
- 验证码
- 保证PHP网站安全的一些编程技巧
- tomcat6.*不打印错误日志到控制台
- 转:SQL Server数据库性能优化之SQL语句篇
- Android第三方应用分享图文到微信朋友圈 & 微信回调通知分享状态
- 浅谈协方差矩阵
- 将intellij idea的快捷键与Eclipse的快捷键设置成一样
- socket简单实现实时通信案例
- (libgdx学习)pixmap(2较完整版的基础API)
- 马航失联,全球搜救