加载中 ...

公司网站常见的安全漏洞和防御方法

2019-07-10 15:48:21 来源:沈阳小程序开发 作者:沈阳软件开发

目前,基于PHP的网站开发已成为当前网站开发的主流,汇海科技小编从PHP网站攻击和安全防范探讨,为了减少网站漏洞,希望对大家有所帮助!

一、常见PHP网站安全漏洞

PHP漏洞有五个常见漏洞。这些是会话文件漏洞,SQL注入漏洞,脚本命令执行漏洞,全局变量漏洞和文件漏洞。这里简要介绍了这些漏洞。

040f04e1a779e0e9120e9c48032ed33b.jpg

1,会话文件漏洞

会话攻击是黑客最常用的攻击之一。当用户访问网站时,为了防止客户在每次用户输入页面时输入帐户和密码,PHP会设置会话和Cookie以方便用户和访问。

2,SQL注入漏洞

在网站的开发过程中,程序员对用户输入数据缺乏全面的判断,或者过滤器不严格,导致服务器执行一些恶意信息,如用户信息查询。黑客可以根据恶意程序返回的结果获取相应的信息。这是每月胃的SQL注入漏洞。

3.脚本执行漏洞

脚本执行漏洞的常见原因是程序员在应用网站时提交提交给用户的URL。 APP软件

ad.jpg

由于过滤较少,用户提交的URL可能包含导致跨站点脚本攻击的恶意代码。脚本执行漏洞在以前的PHP网站中很常见,但随着PHP版本的升级,这些问题已经减少或没有。

4.全局变量漏洞

PHP中的变量在其他开发语言中使用时不需要提前声明。 PHP中的变量可以直接使用而无需声明。使用时,系统会自动创建它们,而无需解释变量类型。系统将自动根据上下文自动确定变量类型。该方法可以大大降低程序员编程中出错的概率,使用起来非常方便。

5,文件漏洞

文件漏洞通常是由网站开发人员在执行网站设计时缺乏对外部提供的数据的充分过滤造成的,导致黑客利用其中的漏洞在Web进程上执行相应的命令。如果lsm.php包含这样一段代码: include($ b。“/aaa.php”。),对于黑客来说,远程攻击可以通过变量$ b来实现,变量$ b可以是黑客自己的代码。对网站实施攻击。您可以提交a.php include=http://lZ7.0.0。 1/b.php到服务器并执行b.php命令。

5a85f67aea70145dfeec12c3be34c91d.jpg

二、PHP常见漏洞的防范措施

1.防止会话漏洞

从前面的分析中我们可以知道,最常见的会话攻击是会话劫持,即黑客通过各种攻击获取用户的会话ID,然后使用被攻击用户的身份登录到相应的网站。为此,这里有几种方法可以防止:一种是定期更改会话ID。替换会话ID可以使用PHP自己的功能实现。第二是更改会话名称。通常,会话的默认名称是PHPSESSID。它通常存储在cookie中。如果更改其名称,则可以阻止来自黑客的某些攻击。第三是关闭透明的会话ID。所谓的透明度意味着http请求不用于制作cookie。会话ID,Sessioin id用于传递链接。关闭透明会话ID可以通过操作PHP.ini文件来实现;第四,通过URL传递隐藏参数,这确保即使黑客获取会话数据,但由于相关参数被隐藏,也很难获得会话ID变量的值。

2.预防SQL注入漏洞

黑客进行SQL注入手段很多,而且灵活多变,但是SQL注人的共同点就是利用输入过滤漏洞。因此,要想从根本上防止SQL注入,根本解决措施就是加强对请求命令尤其是查询请求命令的过滤。具体来说,包括以下几点:一是把过滤性语句进行参数化处理,也就是通过参数化语句实现用户信息的输入而不是直接把用户输入嵌入到语句中。二是在网站开发的时候尽可能少用解释性程序,黑客经常通过这种手段来执行非法命令;三是在网站开发时尽可能避免网站出现错误,否则黑客可能利用这些信息来攻击网站;仅仅通过防御SQL注入还是不够的,另外还要经常使用专业的漏洞扫描工具对网站进行漏洞扫描。

3,对脚本执行漏洞的防范

黑客利用脚本执行漏洞进行攻击的手段是多种多样的,而且是灵活多变的,对此,必须要采用多种防范方法综合的手段,才能有效防止黑客对脚本执行漏洞进行攻击。这里常用的方法方法有以下四种一是对可执行文件的路径进行预先设定可以通过safe_moade_exec_dir来实现;二是对命令参数进行处理,一般用escapeshellarg函数实现;三是用系统自带的函数库来代替外部命令;四是在操作的时候进可能减少使用外部命令

0d221c927372ac5d2287628465b91efb.jpg

如图4所示,对全局变量漏洞防范

XX 对于PHP全局变量的漏洞,以前的PHP版本存在这样的问题,但随着PHP版本升级到5.5,可以通过设置php.ini,将ruquest_order设置为GPC来实现。此外,在php.ini配置文件中,您可以设置Magic_quotes_runtime的布尔值,以向外部引入的数据中的溢出字符添加反斜杠。确保网站程序可以在服务器的任何设置状态下运行。您可以使用get_magic_quotes_runtime检查整个程序开头的设置状态,以决定是手动处理它,还是在开始时使用set_magic_quotes_runtime(0)将其关闭(或者当不需要自动转义时)。

5.防止文件漏洞

对于PHP文件,您可以通过设置和配置服务器来实现预防。具体操作如下:首先,关闭PHP代码中的错误信息,以避免黑客通过错误提示获取数据库信息和网页文件的物理路径;第二种是将open_basedir设置为心脏,即禁止目录外的文件操作。处理;这可以保护本地文件或远程文件免受攻击,还要注意对Session文件和上传文件的攻击。第三,将安全设置为打开状态,从而将命令执行。通过标准化,通过禁止文件上传,可以有效地提高PHP网站的安全系数。

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。