提高PHP网站安全性的5个技巧

news/2024/5/20 15:30:28/文章来源:https://blog.csdn.net/weixin_34109408/article/details/91975920

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

技巧1:使用合适的错误报告

一般在开发过程中,很多程序员总是忘了制作程序错误报告,这是极大的错误,因为恰当的错误报告不仅仅是最好的调试工具,也是极佳的安全漏洞检测工具,这能让你把应用真正上线前尽可能找出你将会遇到的问题。

当然也有很多方式去启用错误报告。比如在 php.in 配置文件中你可以设置在运行时启用

启动错误报告

  1. error_reporting(E_ALL);

停用错误报告

  1. error_reporting(0);

技巧2:不使用PHP的Weak属性 有几个PHP的属性是需要被设置为OFF的。一般它们都存在于PHP4里面,而在PHP5中是不推荐使用的。尤其最后在PHP6里面,这些属性都被移除了。

注册全局变量

当 register_globals 被设置为ON时,就相当于设置Environment,GET,POST,COOKIE或者Server变量都定义为全局变量。此时你根本不需要去写 $_POST['username']来获取表单变量'username',只需要'$username'就能获取此变量了。

那么你肯定在想既然设置 register_globals 为 ON 有这么方便的好处,那为什么不要使用呢?因为如果你这样做将会带来很多安全性的问题,而且也可能与局部变量名称相冲突。

比如先看看下面的代码:

  1. if( !empty( $_POST['username'] ) && $_POST['username'] == ‘test123′ && !empty( $_POST['password'] ) && $_POST['password'] == “pass123″ )
  2. {
  3. $access = true;
  4. }

如果运行期间, register_globals 被设置为ON,那么用户只需要传输 access=1 在一句查询字符串中就能获取到PHP脚本运行的任何东西了。

在.htaccess中停用全局变量

  1. php_flag register_globals 0

在php.ini中停用全局变量

  1. register_globals = Off

停用类似 magic_quotes_gpc, magic_quotes_runtime, magic_quotes_sybase 这些Magic Quotes

在.htaccess文件中设置

  1. php_flag magic_quotes_gpc 0
  2. php_flag magic_quotes_runtime 0

在php.ini中设置

  1. magic_quotes_gpc = Off
  2. magic_quotes_runtime = Off
  3. magic_quotes_sybase = Off

技巧3:验证用户输入 你当然也可以验证用户的输入,首先必须知道你期望用户输入的数据类型。这样就能在浏览器端做好防御用户恶意攻击你的准备。

技巧4:避免用户进行交叉站点脚本攻击 在Web应用中,都是简单地接受用户输入表单然后反馈结果。在接受用户输入时,如果允许HTML格式输入将是非常危险的事情,因为这也就允许了JavaScript以不可预料的方式侵入后直接执行。哪怕只要有一个这样漏洞,cookie数据都可能被盗取进而导致用户的账户被盗取。

技巧5:预防SQL注入攻击 PHP基本没有提供任何工具来保护你的数据库,所以当你连接数据库时,你可以使用下面这个mysqli_real_escape_string 函数。

  1. $username = mysqli_real_escape_string( $GET['username'] );
  2. mysql_query( “SELECT * FROM tbl_employee WHERE username = ’”.$username.“‘”);

转载于:https://my.oschina.net/u/130017/blog/68637

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

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

相关文章

SEO系列一:SEO是什么?SEO有什么意义?

最近周珍都没怎么写文章的,总感觉好像是没有什么话题可以写的。后来被某某人小小的教育了一下,这才恍然醒悟过来。所以决定开始写一个关于SEO基 础知识的系列文章。当然,我写这个系列的文章,主要还有二个目的。一是想给后来的SEO新…

19家网站涉嫌传播低俗内容 网络低俗之风不可长

朱慧卿绘 1月5日,互联网违法和不良信息举报中心根据公众举报,公布19家存在大量违反社会公德、损害青少年身心健康、低俗内容的网站,谷歌、百度、新浪、搜狐等国内多家知名网站位列其中。 这是新闻办、工业和信息化部、公安部等七部门在全国开…

iis6 部署 asp.net mvc 网站

此文乃在参考部分网络文章之后,亲自试验后发布,目的有二,一来让用文字记录好查阅;二来为更多的网友参考。 试验环境: server2003 SqlServer2005iis6 需要准备的工具包:.net framework 3.5 sp…

优化网站设计(十一):避免重定向

前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。 作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考 Best Practices f…

ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询

上次把咨询的架构搭好了,现在分两次来完成咨询:1、用户部分,2管理部分。这次实现用户部分,包含两个功能,查看我的咨询和进行咨询。 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一)…

JAVA推荐网站

为什么80%的码农都做不了架构师?>>> 语言:中文简介:CSDN 个人最喜欢的网站 http://www.csdn.net/ 语言:中文简介:Java Eye http://www.javaeye.com/ 语言:中文简介:Java中文网站 ht…

关于网站分页

今天写代码遇到写一个分页&#xff0c;而以前写的分页自己又不太满意&#xff0c;就重新写了一个。 效果如图&#xff1a; 写完后&#xff0c;感觉代码太多&#xff0c;不太完善&#xff0c;不过功能实现了 <?phpswitch ($page){case 1:echo <div class"movie_page…

Windows系统服务器(网站)安全注意事项

2019独角兽企业重金招聘Python工程师标准>>> 年未了&#xff0c;网络安全越发显得重要&#xff0c;最近黑客攻击事件是越来越多了&#xff0c;对于站长来说有时简直就是个恶梦。 这里我针对自己做站的一些安全经验&#xff0c;跟大家一起分享&#xff0c;也许我说的…

IIS 发布网站

1、添加网站 2、物理路径指向web项目根目录 3、添加默认文档 以下引用百度 确保系统上已经安装IIS&#xff0c;如果没有安装 请到【控制面板】→【程序】→【程序和功能】→【打开或关闭Windows功能】 选中Internet 信息服务下面的所有选项&#xff0c;确定 步骤阅读 2获得发布…

网站URL路径的中文问题[中文路径编码]【转】

原文地址&#xff1a;http://hi.baidu.com/iqpkeq/item/63eeb1136469d1a4ffded536 网站URL路径的中文问题 [中文路径编码] 导读&#xff1a;网站URL路径一般都是用英文来表述&#xff0c;不过在国内很多情况下能看到网页URL中使用中文&#xff0c;因此中文的编码就会成为网站路…

网站计数的实现jsp

在一些博客或论坛里经常出现一些访问次数的字样&#xff0c;这就是通常说的网站计数器。进行网站计数器开发需要注意以下3个问题&#xff1a;1、网站的来访人数很多&#xff0c;所以必须用大整数来表示&#xff1b;2、每个用户在第一次访问时需要计数&#xff0c;重复刷新页面不…

服务器日志法网站分析的原理及优缺点

网站分析收集数据的方式其实有五、六种之多&#xff0c;我们最常见的有三种&#xff0c;分别是&#xff1a;服务器日 志&#xff08;Server Log&#xff09;、页面标记&#xff08;Page Tag&#xff09;和客户端监测软件收集&#xff08;Client End/Desktop&#xff09;。我的C…

python爬虫: 爬一个英语学习网站

爬虫的基本概念 关于爬虫的基本概念, 推荐博客https://xlzd.me/ 里面关于爬虫的介绍非常通俗易懂. 简单地说,在我们输入网址后到可以浏览网页,中间浏览器做了很多工作, 这里面涉及到两个概念&#xff1a; IP地址&#xff1a; IP地址是你在网络上的地址&#xff0c;大部分情况下…

网站建设前期,我们因考虑的优化因素

1.网站建设前期的重要性和关键点网站前期的建设和seo优化一定有精密的相连&#xff0c;一个新网站从你一上线后就能看出你的网站是否能走得更远&#xff0c;很多人在做站的时候都不会去考虑这个因素&#xff0c;所以往往网站上市后优化了1个月左右的时候基本就没信心了。被百度…

【已解决】PHP项目需求:在现有网站中每个页面增加一个get参数

2019独角兽企业重金招聘Python工程师标准>>> 需求&#xff1a;在这个现有的网站之中每个页面增加一个get参数&#xff0c;保证用户分享出去链接均有推广用户id。 想法一&#xff1a;给类似tp框架之中U函数&#xff08;构造URL链接函数&#xff09;增加一个get参数&a…

[转]10个学习Android开发的网站推荐

本文转自&#xff1a;http://blog.csdn.net/i_lovefish/article/details/43950893 1. Android Developers 作为一个Android开发者&#xff0c;官网的资料当然不可错过&#xff0c;从设计&#xff0c;培训&#xff0c;指南&#xff0c;文档&#xff0c;都不应该错过&#xff0c;…

使用js检测用户是否在用微信浏览器浏览网站

现在大部分的公司喜欢把自己发布的网址转成二维码&#xff0c;然后用户只要用手机扫一下就能登录。而大部分的用户都喜欢(可能不知道还有其他扫码工具)用微信来扫二维码&#xff0c;大家都知道微信里面自带的浏览器会屏蔽大部分的外部网站&#xff0c;只能点击右上角图标&#…

【转】大访问量系统的设计(二)——高并发高流量网站架构

【转】大访问量系统的设计&#xff08;二&#xff09;——高并发高流量网站架构 博客分类&#xff1a; 大访问量、高并发应用服务器网络应用lighttpdmemcached互联网 目录 1.网络层架构 1.1 镜像网站技术 1.2 CDN内容分发网络——调整服务器的域名解析来实现 1.3 应用层分布式设…

优秀素材网站

2019独角兽企业重金招聘Python工程师标准>>> 代码质量分析:Sonar仪表盘 http://www.cnblogs.com/topplay/p/3945013.html nginx和apache设置环境变量&#xff0c;配置文件分离 http://yansu.org/2014/05/04/set-environment-variables-of-server-for-php.html 作图&…

大型网站的灵魂——性能

在前一篇随笔 大型网站系统架构的演化中&#xff0c;介绍了大型网站的演化过程&#xff0c;期间穿插了一些技术和手段&#xff0c;我们可以从中看出一个大型网站的轮廓&#xff0c;但想要掌握设计开发维护大型网站的技术&#xff0c;需要我们一步一步去研究实践。所以我打算…