线上服务咨询
Php安全技术不容忽视
发表时间:2019-07-30 16:34:30
文章来源:沈阳软件开发
标签:网站建设 小程序开发 小程序制作 微信小程序开发 公众号开发 微信公众号开发 网页设计 网站优化 网站排名 网站设计 微信小程序设计 小程序定制 微信小程序定制
浏览次数:0
安全性一直是编程语言中值得关注的领域。在任何成熟的编程语言中,都有合适的方法来确保程序的安全性。在现代WEB开发中,我们经常需要处理用户输入。 (所以在这个时候,问题就来了。)有一个编程格言:不要相信用户输入的安全性。所以,今天我将介绍一些最常用的方法来为PHP代码提供安全性。
PHP中有许多方便的函数可以帮助您避免SQL注入和XSS攻击。现在让我们来看看为项目增加安全性的这些函数。但请注意,这只是一些常用功能的列表,可能并不全面,但我相信它们对您的项目非常有帮助。
Mysql_real_escape_string(string sqlQuery):
●考虑到连接的当前字符集,转义SQL语句中使用的字符串中的特殊字符。一个非常有用的函数,可以有效地避免SQL注入。
将转换以下字符:
\ X00,\ N,\ r \”,”,\ X1A
在执行sql语句之前,使用此函数执行sql查询将会破坏底座中的一些危险。
但是现在在更成熟的项目中,通常建议使用像PDO这样的数据库持久层来处理所有数据库操作。它们代表了一种更先进的数据库操作处理技术,在安全性和数据读写速度方面比旧的mysql_ * api强大得多。
Addslashes():
将某些数据插入数据库时,此功能非常有用。它可以在一个反引号之前,以便插入数据而不会出错。但它的使用与php.ini中的设置有关 - magic_quotes_gpc
1.对于PHP magic_quotes_gpc=on,我们可以对输入和输出数据库的字符串数据执行addslashes()和stripslashes()操作,数据将正常显示。
如果此时对输入数据执行addlashes(),则必须使用stripslashes()在输出时删除额外的反斜杠。
2.对于PHP magic_quotes_gpc=off
必须使用addslashes()处理输入数据,但不需要使用stripslashes()来格式化输出,因为addslashes()不会向数据库写入反斜杠,只是为了帮助mysql完成sql语句的执行。
[stripslashes():删除addslashes()函数添加的反斜杠。 】
Htmitientities():
处理输出的一个非常有用的功能。它用于将可能导致XXS攻击的某些字符转换为html实体。浏览器显示这些字符时这些字符是正常的,但是当您查看其源代码时,他将不会显示这些特殊字符。这样,例如
输出:
约翰& “亚当斯”
源代码:
约翰&安培; '亚当斯';
输出:
<>
源代码:
<&的GT,GT;
有效地编码这些符号可以避免XSS攻击。
用htmlspecialchars():
它与上面的函数相同,但它更常见,因为htmlentities()将html标准中定义的所有字符转换为相应的html实体,这将使您的输出更不可读(Html实体列表http://www.w3school.com。 CN /标签/html_ref_entities.html)。因此,使用htmlspecialchars()只是将一些预定义的字符(导致问题)转换为html实体。例如:
&安培; (和)成为&
“(双引号)变为”
'(单引号)变为'
< (小于)变为<<>
> (大于)变为>
所以,在某些项目中,我仍然使用htmlspecialchars()来处理html的输出。他在安全方面更具体。
Strip_tags():通常用于输出以去除HTML,XML和PHP标记。
原型:strip_tags(string,allow)
String表示输入字符串,allow表示未删除的标签。您可以使用allow来自定义要过滤的标签
Md5():
将字符串转换为32位哈希值(无法进行反向解码)的函数。任何字符串都可以通过此函数获得唯一的32位字符串。但是,现在使用此功能时,需要注意一些数据库记录中的大量md5值,通过强力枚举破解密码,因此在使用时,可以先在原始字符串中添加一个图层。密度,然后使用md5()哈希,将获得更好的结果。
Sha1():
一个类似于md5()和类似的函数,但他使用不同的算法生成一个40个字符的字符串。可以考虑在项目中使用。
Intval():
也许您认为此功能不是安全功能。但在某些情况下,它可以很好地保护您的代码。从用户收集的一些数据(如ID,密码和用户名)可能会消除一些安全风险。毕竟,这是受灾最严重的地区
标签:& nbsp& nbspMarketing type 网站建设& nbspMarketing type 网站& nbsp沈阳Marketing type 网站建设网站建设,小程序开发,小程序制作,微信小程序开发,公众号开发,微信公众号开发,网页设计,网站优化,网站排名,网站设计,微信小程序设计,小程序定制,微信小程序定制