PHP网站常见一些安全漏洞及防御方法

news/2024/4/27 13:48:14/文章来源:https://blog.csdn.net/weixin_33941350/article/details/89069559

一、常见PHP网站安全漏洞

对于PHP的漏洞,目前常见的漏洞有五种。分别是Session文件漏洞、SQL注入漏洞、脚本命令执行漏洞、全局变量漏洞和文件漏洞。这里分别对这些漏洞进行简要的介绍。

1、session文件漏洞

Session攻击是黑客最常用到的攻击手段之一。当一个用户访问某一个网站时,为了免客户每进人一个页面都要输人账号和密码,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的指令。

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

1、对于Session漏洞的防范

从前面的分析可以知道,Session攻击最常见的就是会话劫持,也就是黑客通过各种攻击手段获取用户的Session ID,然后利用被攻击用户的身份来登录相应网站。为此,这里可以用以下几种方法进行防范:一是定期更换Session ID,更换Session ID可以用PHP自带函数来实现;二是更换Session名称,通常情况下Session的默认名称是PHPSESSID,这个变量一般是在cookie 中保存的,如果更改了它的名称,就可以阻档黑客的部分攻击;三是对透明化的Session ID进行关闭处理,所谓透明化也就是指在http请求没有使用cookies来制定Session id时,Sessioin id使用链接来传递.关闭透明化Session ID可以通过操作PHP.ini文件来实现;四是通过URL传递隐藏参数,这样可以确保即使黑客获取了session数据,但是由于相关参数是隐藏的,它 也很难获得Session ID变量值。

2、对SQL注入漏洞的防范

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

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

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

4、对全局变量漏洞防范

对于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文件和上载文件的攻击;三是把safe-made设置为开启状态,从而对将要执行的 命令进行规范,通过禁止文件上传,可以有效的提高PHP网站的安全系数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_828024.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简说宽带商的弹窗广告进化及网站应对之策(DNS劫持进化论)

宽带商弹广告的后果:1:以假乱真,误导不明真现的用户,以为是网站自身弹的广告。 2:用户烦。早期宽带商弹广告,DNS劫持:DNS是干什么用的?就一个功能:根据域名的请求&#x…

推荐5个堪称神器的学习网站,在家你值得拥有

最近偶尔有人问我程序员网上有什么好的学习网站,说实话,现在网上资源比较多,也比较杂乱,我这里给大家推荐几个,希望大家喜欢,如果觉得不错的话,文末请点赞顺手加个关注。 1、哔哩哔哩 登录网址…

10个技巧助您提高网站访问速度

网站的访问速度和性能对用户体验来说是非常重要的。如果你的网站访问非常的慢,你不仅会失去用户,而且更可怕的是你会失去潜在的客户。像 Google这样的互联网巨头也会把网站访问速度作为排名的一个参数。因此当你需要优化网站速度时,你需要考虑…

SEO独家干货:利用外链投票模型操作新站快速排名

今年我在卢松松博客投稿了不少的干货文章,其中有一篇叫做“SEO外链算法独家揭秘”,里面提到了很多朋友或许都没有思考到的点,我一直相信,在搜索引擎优化当中,当任何一个点优化到极致,你的排名将顺从着你的极…

如何使用mkdocs搭建网站及过程中的问题记录

本文首发于GiantPandaCV公众号,未经允许,不得转载 GiantPandaCV 一直是以公众号的形式和大家见面,但现在随着分享干货的日益增多,我们不满足于公众号小小的窗口,为了方便大家快速检索自己感兴趣的知识,也为…

10设置精美的免费网站后台管理系统模板

虽然转移。但好东西不应该是沉默 原文地址:http://www.cnblogs.com/lhb25/archive/2012/10/19/10-free-html-admin-templates.html 免费下载点:http://download.csdn.net/detail/yangwei19680827/7324845 Admin Panel Template 这个后台管理模板的导航设…

python爬虫登录网站_python爬虫之scrapy模拟登录

背景: 初来乍到的pythoner,刚开始的时候觉得所有的网站无非就是分析HTML、json数据,但是忽略了很多的一个问题,有很多的网站为了反爬虫,除了需要高可用代理IP地址池外,还需要登录。例如知乎,很多…

plupload 不兼容ie8_如何处理网站兼容性

点击上方蓝字给一个关注吧 点击上方关注我们!市场上浏览器种类很多,不同浏览器的内核也不尽相同,所以各个浏览器对网页的解析存在一定的差异。浏览器内核主要分为两种,一是渲染引擎,另一个是js引擎,内核…

ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(1)

本系列的的角色权限管理主要采用Dotnet MVC4工程内置的权限管理模块Simplemembership实现,主要有关文件是InitializeSimpleMembershipAttribute.cs和AccountModels.cs 下面是对这两个文件的了解和改造 WebSecurity.InitializeDatabaseConnection("DefaultConne…

浏览器超全网站收藏夹 6000+

网上这种资源的分享特别少大家切珍惜 废话不对说直接上图自己看 分了这么多类你就知道我收藏了多少网站吧? 没错有6000左右,网上这类资源确实少之又少。所以分享了一下 大家可以前往这个地址下载,绝对赚的,很多网站都是自己一个…

百度商桥放在php网站哪里_360算命吸粉推广开户丨神马百度搜狗360开户平台

360算命吸粉推广开户丨神马百度搜狗360开户平台其实关键词分析只要合理,就可以,帐户分类就是为了随时调整和数据分析,关键词分类,也是随时调整的。第三、筛选关键词百度后台会提供关键词,也可以看百度指数。刚刚开始跑…

优化网站加载时间(GTmetrix)

首先,看下页面加载时间轴 1.URL重定向时间(Redirect duration) 包括: Redirect from a non-www to www (eg. example.com to www.example.com)Redirect to a secure URL (eg. http:// to https://)Redirect to set cookiesRedir…

获取roi内的xld_利用SEO 优化实现低成本获取高质量的流量转化

我们知道内容是网站建设的重要基础性资源,但对于一些企业而言,或者集团性的公司,在做任何项目运营的时候,都会非常关注获取高质量的流量转化的问题。 特别是精准的衡量一个内容投资回报率显得格外重要根据以往SEO的工作经验&#…

潮鞋购物网站,html5+css3+js,实现基本的添加购物车,自动计算金额等功能

项目展示效果 实现添加购物鞋数量总金额自动变化 实现连接购物车功能 实现在购物车里收藏与删除 下面是购物页面代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>购买精选</title><sty…

想要那种有提示声音的网站吗?我教你怎么做!

您有新的外卖订单请及时查收&#xff01;熟悉不能再熟悉的声音了&#xff0c;今天小编就做了这样一个网站的提示新订单的功能&#xff0c;接下来就教你怎么玩转这个小功能&#xff01;首先我们前端的代码是这样写的&#xff1a;var playSound function () { var borswer wind…

基于ELK 搭建网站流量可视化监控平台

2019独角兽企业重金招聘Python工程师标准>>> ELK 组成&#xff1a;&#xff1a; 通过上图我们可以看到&#xff0c;ELK 是由三个Elastic 的产品组合而成&#xff0c;分别是ElasticSearch、Logstash 和Kibana。三者之间是的部署关系如下图所示&#xff1a; Logstash …

不修改代码就能优化ASP.NET网站性能的一些方法

本文将介绍一些方法用于优化ASP.NET网站性能&#xff0c;这些方法都是不需要修改程序代码的。 它们主要分为二个方面&#xff1a; 1. 利用ASP.NET自身的扩展性进行优化。 2. 优化IIS设置。 配置OutputCache 用缓存来优化网站性能的方法&#xff0c;估计是无人不知的。 ASP.NET…

通过建站学运维1901-09任务

4.21LNMP环境介绍 什么是LNMP Linux NginxMySQL/MariadbPHP Linux就是操作系统 Nginx 是一个web服务器&#xff0c;提供HTTP服务的。之所以能够访问网站就是Nginx在起作用。 Nginx的功能&#xff1a; 接收用户请求&#xff0c;处理图片、js、css等静态请求。接收但不处理php请求…

【Web】Bootstrap框架实现简单旅游网站页面

这里主要是为了熟悉以下Bootstrap框架的简单使用&#xff0c;采用了响应式布局。 代码如下&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" conte…

4.Nginx静态网站部署

Nginx是一个HTTP的web服务器&#xff0c;可以将服务器上的静态文件&#xff08;如HTML、图片等&#xff09;通过HTTP协议返回给浏览器客户端。 一、项目实例 1.进入opt目录下&#xff0c;新建static目录 2.通过Xftp将ace-master到linux服务器/opt/static目录下 为了让后面的配…