PHP网站中常见的安全漏洞以及相应的预防措施摘要

发布时间:2020-07-17 16:34:00 浏览次数:20

PHP网站中常见的安全漏洞以及相应的预防措施摘要

  1. 常见的PHP网站安全漏洞
      对于PHP漏洞,当前有五个常见漏洞。 它们是会话文件漏洞,SQL注入漏洞,脚本命令执行漏洞,全局变量漏洞和文件漏洞。 这里是这些漏洞的简要介绍。
      1.会话文件漏洞
      会话攻击是黑客使用的最常见的攻击方法之一。 当用户访问某个网站时,为了防止客户在每次进入页面时都输入帐户和密码,PHP设置了Session和Cookie以促进用户的使用和访问。
      2. SQL注入漏洞
      在网站开发过程中,程序员对用户输入数据缺乏全面的判断,或者过滤不充分导致服务器执行一些恶意信息,例如用户信息查询。 黑客可以根据恶意程序返回的结果获取相应的信息。 这是月星肚子的SQL注入漏洞。
      3.脚本执行漏洞
      脚本执行漏洞的常见原因是程序员在开发网站时过滤掉用户提交的URL参数较少的原因。 用户提交的URL可能包含恶意代码,从而导致跨站点脚本攻击。 以前的PHP网站中经常存在脚本执行漏洞,但是随着PHP版本的升级,这些问题已经减少或不再存在。
      4.全局变量漏洞
      与其他开发语言一样,不需要预先声明PHP中的变量。  PHP中的变量无需声明即可直接使用。 使用它们时,系统会自动创建它们,而无需解释变量的类型。 系统将根据上下文自动确定变量类型。 这种方法可以大大降低程序员编程错误的可能性,并且非常方便使用。
      5.文件漏洞
      文件漏洞通常是由于网站开发人员在网站设计过程中缺乏对外部提供的数据的足够过滤所致,这导致黑客使用这些漏洞在Web流程上执行相应的命令。 如果您在lsm.php中包含这样的一段代码:include($ b。“ / aaa.php”。),对于黑客来说,您可以使用变量$ b进行远程攻击,这可以是黑客自己的代码。 用于对网站实施攻击。 您可以提交a.php include = http://lZ7.0.0。  1 / b.php到服务器,然后执行b.php指令。
      2.常见PHP漏洞的预防措施
      1.防止会话漏洞
      从前面的分析中可以看出,最常见的会话攻击是会话劫持,即黑客通过各种攻击方式获取用户的Session ID,然后使用被攻击用户的身份登录相应的网站。 为此,这里可以防止以下几种方法:一是定期更换Session ID,可以使用PHP自身的功能实现Session ID的替换; 第二个是更改Session名称,通常Session的默认名称是PHPSESSID,此变量通常存储在cookie中,如果更改其名称,则可以阻止某些黑客的攻击; 第三个是关闭透明的会话ID,所谓的透明意味着不使用cookie发出HTTP请求。使用会话ID时,将使用链接传输Sessioin ID。 通过操作PHP.ini文件,可以关闭透明会话ID。 第四,通过URL传递隐藏参数,这可以确保即使黑客获得了会话数据,但是由于相关参数是隐藏的,因此,也很难获取Session ID变量的值。

    2.防止SQL注入漏洞
      黑客执行SQL注入的方法有很多,它们很灵活,但是SQL注入的共同点是使用输入过滤漏洞。 因此,从根本上防止SQL注入,根本的解决方案是加强对请求命令(尤其是查询请求命令)的过滤。 具体而言,包括以下几点:首先,对过滤语句进行参数化,即,通过参数化语句输入用户信息,而不是将用户输入直接嵌入到语句中。 第二个是在网站开发过程中使用尽可能少的解释程序。 黑客经常使用这种方法来执行非法命令。 第三是在网站开发过程中尽量避免网站漏洞,否则黑客可能利用这些信息来攻击网站; 防御SQL注入还不够。 此外,您必须经常使用专业的漏洞扫描工具来扫描网站中的漏洞。
      3.防止脚本执行漏洞
      黑客使用脚本执行漏洞以各种方式进行攻击,并且它们很灵活。 为此,必须采用多种预防方法的组合,以有效地防止黑客攻击脚本执行漏洞。 这里通常使用四种方法。 一种是预先设置可执行文件的路径。 可以通过safe_moade_exec_dir;来实现。 第二个是处理命令参数,通常使用escapeshellarg函数; 第三是使用系统自己的函数库替换外部命令; 第四是减少操作期间使用外部命令。
      4.防止全局变量中的漏洞
      对于PHP全局变量的漏洞,以前的PHP版本存在这样的问题,但是随着PHP版本升级到5.5,可以通过设置php.ini并将request_order设置为GPC来实现。 另外,在php.ini配置文件中,可以通过布尔设置magic_quotes_runtime来设置是否在外部引诱数据中的溢出字符上添加反斜杠。 为了确保网站程序可以在服务器的任何设置状态下运行。 您可以使用get_magic_quotes_runtime在整个程序的开头检查设置状态,以确定是否要手动处理它,或者使用set_magic_quotes_runtime(0)在开始时将其关闭(或不需要自动转义)。
      5.防止文件漏洞
      对于PHP文件泄漏,您可以设置和配置服务器以防止它泄漏。 具体操作如下:首先,关闭PHP代码中的错误提示,以防止黑客通过错误提示获取数据库信息和网页文件的物理路径。 其次,仔细设置open_basedir,即禁止在目录外处理文件的操作; 这样可以保护本地文件或远程文件,并防止它们受到攻击。 在这里,我们还必须注意防止对Session文件和上传文件的攻击; 第三,将安全制作器设置为打开状态,以便执行命令。通过禁止文件上传,可以有效地提高PHP网站的安全系数。

网站建设

乐鱼体育网络提供网站建设,网站制作,网站开发,网站设计,网页开发,网站定制,网页设计等服务,帮助企业提高知名度和影响力,提高企业网上竞争力。我们的客户来自各行各业,为了共同目标,工作上密切配合,从创业型小企业到行业有影响力的网站建设公司,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们的团队用头脑与智慧给客户带来惊喜。


阅读推荐
关闭

在线留言