创建高安全性PHP网站的几个实用要点

大家都知道PHP已经是当前最流行的Web应用编程语言了。但是也与其他脚本语言一样,PHP也有几个很危险的安全漏洞。所以在这篇教 学文章中,我们将大致看看几个实用的技巧来让你避免一些常见的PHP安全问题。

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

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

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

启动错误报告

error_reporting(E_ALL);

停用错误报告

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 有这么方便的好处,那为什么不要使用呢?因为如果你这样做将会带来很多安全性的问题,而且也可能 与局部变量名称相冲突。

比如先看看下面的代码:

if( !empty( $_POST['username'] ) && $_POST

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

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

在.htaccess中停用全局变量

php_flag register_globals 0

在php.ini中停用全局变量

register_globals = Off

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

在.htaccess文件中设置

php_flag magic_quotes_gpc 0
php_flag magic_quotes_runtime 0

在php.ini中设置

magic_quotes_gpc = Off   

magic_quotes_runtime = Off   

magic_quotes_sybase = Off

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

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

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

$username = mysqli_real_escape_string( $GET['username'] );   

mysql_query( “SELECT * FROM tbl_employee WHERE username = ’”.$username.“‘”);

好了,在这篇简短的文章中,我们 阐述了几个开发过程中不能忽视的PHP安全性问题。但是最终是否使用,如何使用还是开发人员来决定的。希望这篇文章能帮助到你们。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索变量
, 错误
, 输入
, 用户
, username
, register_globals
, PHP实用技巧
magic_quotes_runtime
实用猪舍设计要点、农村实用人才工作要点、文明创建工作要点、文明城市创建工作要点、精神文明创建工作要点,以便于您获取更多的相关知识。

时间: 2024-10-18 13:44:50

创建高安全性PHP网站的几个实用要点的相关文章

制作安全性高的PHP网站的几个实用要点_php实例

大家都知道PHP已经是当前最流行的Web应用编程语言了.但是也与其他脚本语言一样,PHP也有几个很危险的安全漏洞.所以在这篇教学文章中,我们将大致看看几个实用的技巧来让你避免一些常见的PHP安全问题. 技巧1:使用合适的错误报告 一般在开发过程中,很多程序员总是忘了制作程序错误报告,这是极大的错误,因为恰当的错误报告不仅仅是最好的调试工具,也是极佳的安全漏洞检测工具,这能让你把应用真正上线前尽可能找出你将会遇到的问题. 当然也有很多方式去启用错误报告.比如在 php.in 配置文件中你可以设置在

构建高安全电子商务网站:网站文件及数据库自动本地/异地双备份

上一遍文章详细介绍了服务器安全方面,接下来继续介绍Linux服务器文件备份,数据库备份,数据安全 存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是重中之重的首要工作. 电子商务网站更加注重考虑数据安全,数据备份方案,包括本地备份.异地备份架构.其中Linux服 务器的备份方案非常多,本文介绍一个大众化适用的解决方案,通过编写Shell脚本来完成自动备份.本架构 包括备份网站文件.数据库,自动本地备份并FTP上传备份脚本,完成相应本地备份.异地备份,实现双层备 份解决方案

构建高安全电子商务网站:Linux服务器iptables规则列表全攻略

服务器的安全性,一直是网站的首要考虑的任务.针对安全性有多种多样的解决方案.Linux服务器防火墙,最常用到的当然要数iptables防火墙.iptables是Linux上常用的防火墙软件,规则也非常灵活,应该最广泛. 对应要构建高安全电子商务网站,任何一台服务器少不了的安全软件,当然是iptables防火墙.规则灵活多变,功能应该之广泛,这个也是Linux系统管理员首选.iptables表链中每条规则的顺序很重要,如果首条是accept all,那末所有的数据包都会被允许通过firewall,

用Rails创建高质量Web应用

越来越多的企业开始选择Rails作为Web应用的框架.Rails曾经还主要是一些轻公司的选择,但今天一些"重"企业(比如保险.金融等行业的企业)也开始把Rails纳入内部应用甚至外部应用的考虑范围.我最近服务过的客户是国外某大型保险公司,该公司就选择了Rails来创建他们的保险销售网站. 选择Rails的原因,是因为它快速构建的能力,是因为它是Web开发的DSL.但是否选择了Rails就代表了高效开发?是否在Rails上创建的Web应用就一定是高质量的?答案是否定的.从我参与过的几个R

创建高质量的外链建设

摘要: 一个网站在不同阶段有着不同的优化方法,那么今天要跟大家分享的是百度收录新站后,前期该如何去优化? 一.网站架构:网站的架构基本在建站之初就已经确定了,但在前期随着优化关 一个网站在不同阶段有着不同的优化方法,那么今天要跟大家分享的是百度收录新站后,前期该如何去优化? 一.网站架构:网站的架构基本在建站之初就已经确定了,但在前期随着优化关键词的排名变化,我们在网站首页展现的版块可以相应的改动,注意:只是版块的小改动小调整,切记大改动 二.外链:前期的话,网站本身的外链是比较少的.那么在外链

利用JavaScript创建视差效果的网站

如何创建一个视差效果的网站呢,在这篇文章中我们将为你介绍通过JavaScript创建视差效果,而没有使用任何第三方库例如jQuery等,在视差效果的制作中,网页中的不同元素以不同的速度移动,一般来讲,离用户越远的物体移动速度要比近的物体速度慢,反之亦然. 如何创建视差效果的网站 动画 就像任何动画,你改变一些动作的基础上,其他的东西,像时间.然而在这种情况下,你是在你网站的部分相对于观察者位置的页面上. 动画的速度控制如何快速访客向下滚动页面.这意味着,观众可以控制动画到底有多快.如果客人卷轴真

如何创建高质量的百度经验?

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 百度经验,作为百度自身的产品,也被众多众多网站推广人员所重视.随着百度百科.百度知道.百度贴吧等平台对链接审核的加强,众人把眼光都移向了百度自身的其他产品,百度经验由于目前对链接的审核还算宽松,所以备受关注.后来,百度经验对参考资料这块所添加的链接进行了跳转,又让很多网站推广人员心寒了一把.但是话又说回来,现在很多传统的链接形式所能传递的权重

小脑袋百度调词管理软件教你创建百度百科推广网站的技巧

http://www.aliyun.com/zixun/aggregation/12579.html">baidu百科-- 全球最大中文百科全书是一部内容翻开.清闲的网络百科全书,旨在发明一个包含悉数范畴知识.效能悉数 互联网用户的中文知识性百科全书.    baidu百科让知识在必定的技能规则和文明条理下得以不断组合和拓展.小脑袋百度调词 管理软件教你创建 百度百科推广网站的技巧一起完毕与搜索引擎的完满联络,从不一样的层次上满意用户对信息的需求.   百科词条加链推行的利益   1.为网

营销技巧:八步创建高转化率的着陆页面(三)

编者注:全网90%的付费流量着陆到了那些设计粗陋.内容没有吸引力.转化能力差的网站或者页面上,这是巨大的浪费.博众互动副总经理熊立健(新浪微博:@高原飞熊)投稿,介绍了一种创建高转化能力的营销着陆页方法.网销人员可应用于企业网络营销实战中,产生效益.前文介绍了,创建高转化能力的营销着陆页的系统方法论--网页精耕(Web Farming,是集客营销之"术")最重要的两个步骤(分别是信息架构方法和内容策略).本文是本系列(3篇文章构成,第一篇,第二篇)的最后一篇,将对营销着陆页面的UI设计