朋友们在学习php语言的过程中,肯定会关注在实际开发过程中的安全性问题。那么,今天我们就来为大家介绍保证PHP安全的首要措施——验证数据。数据的验证是您可能采用的最重要的习惯。而在提及输入时,十分简单:不要相信用户。在保证PHP安全而进行验证数据时,记住设计并验证应用程序允许使用的值通常比防止所有未知值更容易。
下面列出了适用于各种验证数据的一般验证提示:
1. 使用白名单中的值
2. 始终重新验证有限的选项
3. 使用内置转义函数
4. 验证正确的数据类型(如数字)
白名单中的值(White-listed value)是正确的值,与无效的黑名单值(Black-listed value)相对。两者之间的区别是,通常在进行验证数据时,可能值的列表或范围小于无效值的列表或范围,其中许多值可能是未知值或意外值。
为此,我们PHP中文网提供了10个好用的php数据验证类库,供大家下载参考。(备注:更多数据验证类库资源请关注:php中文网数据验证类库)
介绍了PHP代码实现表单数据验证类,比如检查输入内容的合法性,中英文判断,字符串长度是否符合要求,验证手机号,电子邮箱,生成缩略图,获取IP地址,抓取远程图片,这是一个很全面的表单验证类,几乎所有的验证都包含,方便大家学习和使用。
2. php验证登陆类
介绍的是一个简单的php实现的用户登录与验证类的代码,没有把登录和数据库查询分开,cookie设置,数据库设置,用户获取值,验证SESSION,验证COOKIE。
php提交数据过滤的基本原则
1)提交变量进数据库时,我们必须使用addslashes()进行过滤,像我们的注入问题,一个addslashes()也就搞定了。其实在涉及到变量取值时,intval()函数对字符串的过滤也是个不错的选择。
2)在php.ini中开启magic_quotes_gpc和magic_quotes_runtime。magic_quotes_gpc可以把get,post,cookie里的引号变为斜杠。magic_quotes_runtime对于进出数据库的数据可以起到格式话的作用。其实,早在以前注入很疯狂时,这个参数就很流行了。
3)在使用系统函数时,必须使用escapeshellarg(),escapeshellcmd()参数去过滤,这样你也就可以放心的使用系统函数。
4)对于跨站,strip_tags(),htmlspecialchars()两个参数都不错,对于用户提交的的带有html和php的标记都将进行转换。比如尖括号"<"就将转化为 "<"这样无害的字符。
$new = htmlspecialchars("Test", ENT_QUOTES);
strip_tags($text,);
5)对于相关函数的过滤,就像先前的include(),unlink,fopen()等等,只要你把你所要执行操作的变量指定好或者对相关字符过滤严密
4. php身份证验证相关类
php身份证验证相关类,PHP根据身份证号,自动获取对应的星座函数, 根据身份证号,自动返回对应的星座 ,根据身份证号,自动返回对应的生肖,根据身份证号,自动返回性别, 检查是否是身份证号,按照序号从校验码串中提取相应的字符。
5. php数据检查类
介绍一个php开发中常用的php数据检查类,供小伙伴们学习参考,其中加了一些判断,比如:是否为IPv4,是否为邮箱地址,是否为URL,是否为正整数, 是否在范围内,是否为有效长度。
6. 一个很好的php验证类
数字验证,名称匹配,如用户名,目录名等,是否支持中文,默认支持,如果是匹配文件名,建议关闭此项(false),邮箱验证,手机号码验证,URL验证,纯网址格式,不支持IP验证。
7. 功能齐全的php验证类
分享一个可扩展的功能齐全的php验证类,类里面可以的各类验证可自行调整实现,现在为基本实现方式。需要添加规则的话,直接定义方法,方法名即为规则名称。具体参考使用方法。
用于处理Model进入数据的验证。很多时候,我们在Model中处理数据的时候会一次传入很多参数,这时候可能需要对参数进行判断,是不是少参数了,参数的格式是否正确,如果每次都一大堆if判断的话会很麻烦,以前用过CI,它里面有对form表单提交的数据进行验证的类,然后按照习惯写了这个方法。
9. php的验证类
检查输入的是否为数字,检查输入的是否为电话,检查输入的是否为手机号,检查输入的是否为邮编,邮箱地址合法性检查,姓名昵称合法性检查,只能输入中文英文,检查一个(英文)域名是否合法。
10. php常用表单验证类
主要介绍了php常用表单验证类用法,实例分析了php针对表单元素常用验证技巧。数据出库 还原 特殊字符 传入值可为字符串 或 一/二维数组,数据显示 还原 数据格式 主要用于内容输出 传入值可为字符串 或 一/二维数组。
【相关类库推荐】
1.【php无限级分类】总结最全的php无限级分类类库下载与文字视频教程