电子商务网站开发中常见的漏洞有哪些?
PHP目前常见的漏洞有五个。它们是会话文件漏洞、SQL注入漏洞、脚本命令执行漏洞、全局变量漏洞和文件漏洞。这里简单介绍一下这些漏洞。
1,会话文件漏洞
会话攻击是黑客最常用的攻击之一。当用户访问某个网站时,为了防止客户每次进入页面都要输入自己的账号和密码,PHP设置了Session和Cookie来方便用户的使用和访问。
2.SQL注入脆弱性
开发一个网站时,程序员对用户的输入数据缺乏综合判断或者过滤不严格,导致服务器执行一些恶意信息,比如用户信息查询。黑客可以根据恶意程序返回的结果获取相应的信息。这是月球腹部的SQL注入漏洞。
3、脚本执行漏洞
脚本执行漏洞的常见原因是程序员在开发网站时没有对用户提交的URL参数进行过滤,用户提交的URL可能包含恶意代码,从而导致跨站脚本攻击。以前的PHP网站经常存在脚本执行漏洞,但随着PHP版本的升级,这些问题已经减少或消失。
4.全局变量的脆弱性
PHP中的变量不需要像其他开发语言一样提前声明。PHP中的变量可以不声明直接使用,使用时系统自动创建,不需要解释变量类型。系统会根据上下文自动确定变量类型。这种方法可以大大降低程序员编程出错的概率,使用起来非常方便。
5.文件漏洞
文件漏洞通常是由于网站开发者在设计网站时,对外部提供的数据没有进行足够的过滤,导致黑客利用漏洞在web过程中执行相应的命令。
二、PHP中常见漏洞的防范措施
1,防止会话漏洞
从前面的分析可以知道,最常见的会话攻击是会话劫持,即黑客通过各种攻击获取用户的会话ID,然后使用被攻击用户的身份登录相应的网站。为此,可以通过以下方法来防范:一是定期更改会话ID,可以通过PHP自身的函数来实现;第二是更改会话的名称。在正常情况下,会话的默认名称是PHPSESSID。这个变量通常保存在cookie中。如果改个名字,可以屏蔽黑客的一些攻击。第三是关闭透明会话ID。所谓透明,就是当http请求不使用cookies制作Session id时,Session id是通过链接传递的。关闭透明会话ID可以通过操作PHP.ini文件来实现。第四种是通过URL传递隐藏参数,可以保证即使黑客获取了会话数据,他也很难获得Session ID的变量值,因为相关参数是隐藏的。
2.预防SQL注入漏洞
黑客注入SQL的方式有很多种,而且很灵活,但是SQL注入的相似之处就是用输入来过滤漏洞。因此,要想从根本上防范SQL注入,根本的解决办法是加强对请求命令,尤其是查询请求命令的过滤。具体包括以下几点:第一,将过滤语句参数化,即通过参数化的语句输入用户信息,而不是直接将用户输入嵌入到语句中。第二,开发网站时,尽量少用解释性程序,黑客经常用这种手段执行非法指令;第三,尽量避免网站开发中的bug,否则黑客可能会利用这些信息攻击网站;仅仅防御SQL注入是不够的。另外,要经常使用专业的漏洞扫描工具对网站进行漏洞扫描。
3.防止脚本执行漏洞
黑客利用脚本执行漏洞进行攻击的手段多样而灵活。因此,需要采取多种防范手段的综合手段,有效防范黑客攻击脚本执行漏洞。这里常用的方法有四种。一种是预设可执行文件的路径。
4、全局变量漏洞防范。
对于PHP全局变量的漏洞问题,之前的PHP版本也有这样的问题,但是PHP版本升级到5.5以后,通过设置php.ini,设置ruquest_order为GPC就可以实现。另外,在php.ini配置文件中,可以通过Magic_quotes_runtime的布尔值来设置是否在外部吸引的数据中反斜杠溢出字符。为了保证网站程序可以在服务器的任何设置状态下运行。
5、文件漏洞的预防
对于PHP文件泄漏,您可以设置和配置服务器来防止它。这里具体操作如下:首先关闭PHP代码中的错误提示,防止黑客通过错误提示获取数据库信息和网页物理路径;二是全心全意设置open_basedir,即禁止目录外的文件操作;这可以保护本地文件或远程文件,防止它们受到攻击。这里还要注意防止对会话文件和上传文件的攻击。第三,将safe-made设置为打开状态,以便标准化要执行的命令。通过禁止文件上传,可以有效提高PHP网站的安全系数。