制作安全性高的PHP网站的几个实用要点_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安全性问题。但是最终是否使用,如何使用还是开发人员来决定的。希望这篇文章能帮助到你们。

时间: 2024-09-16 19:57:14

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

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

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

PHP抓取、分析国内视频网站的视频信息工具类_php实例

使用方法: 复制代码 代码如下: require_once "VideoUrlParser.class.php";$url = "http://v.youku.com/v_show/id_XMjkwMzc0Njg4.html";$info = VedioUrlParser::parse($url);echo $info; 说明:调用该工具php文件VideoUrlParser.class.php,$url变量后面的字符串为视频页的地址,然后使用echo输出变量$in

PHP下通过QRCode类库创建中间带网站LOGO的二维码_php实例

我们要生成二维码都需要借助一些类库来实现了,下面我介绍利用PHP QR Code生成二维码吧,生成方法很简单,下面我来介绍一下. 利用php类库PHP QR Code来实现,不需要装额外的php扩展,首先下载类库包,有时候地址打不开,地址:http://phpqrcode.sourceforge.net/ 下载: 国内下载:http://www.jb51.net/codes/189897.html 国外下载:http://sourceforge.net/projects/phpqrcode/ 例

用php制作简单分页(从数据库读取记录)的方法详解_php实例

      PHP新手,一直想做一下分页都给忘了,今天有幸被提醒所以网上搜了一下.有些写的看不懂也没怎么去看.最后找到一个比较简单的. 大致的思想就是: 1.设置每页要显示的最大记录数. 2.计算出页面总数 3.当前页面跟总页面数比较改变连接的状态 4.用limit控制从数据库中读取记录 下面是代码: 复制代码 代码如下: $conn = mysql_connect('localhost','root','');            mysql_select_db('db_BookStore'

分享如何制作一套精美的网站优化方案

制作一套精美的网站优化方案要从两个角度上来考虑:一个是站内优化,一个是站外优化.站内的优化主要在于内容上的编辑,站外的优化主要在于外联的建设.只有真正的了解.掌握这两项,你才能成为seo中的强者. 俗话说得好,内容为王,外链为皇,内容决定了网站的质量,这一点说明了网站内容有多么重要.如果你写的内容比较好,才能吸引读者,才有价值,并且这个价值可以延伸,所以高质量的内容才能体现你网站的潜质. 1.写软文要注意一下几点: 1.标题不要包含多个关键字 2.标题与页面内容相呼应 3.标题采用长尾关键字 4

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

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

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

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

如何分析挖掘高质量的网站关键词

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 作为站长,我们制作网站的目标就是吸引尽可能多的流量从而卖出产品去.那么弄明白什么样的关键词能带来潜在客户就至关重要,也就是说在制作网站内容之前,要先进行一些相关行业的市场调查,确定好了你的目标关键词才不至于做了无用功,到头来竹篮子打水一场空. 下面就来详细地说一说,如何找到高转化率的网站关键词: 1.首先设想一下,你自己是网站的目标用户,可能

如何做一个高质量的网站页面?

本文是针对网站seo优化角度出发的,同时兼顾高质量用户浏览体验度.优质的网站页面可以让网站的权重.PR值.关键词综合排名得到提高,那么我们在制作页面的时候,到底要注意哪些细节呢?   1.   原创最大化原则 页面的原创性是页面质量的根本,搜索引擎都会有自己的内容过滤器,主要是为了减少出现重复的内容和收录.大家都知道伪原创的工具,可以伪原创文章.比如通过把文章的结构.顺序或者从其他的地方复制一些内容,然后拼凑成一篇文章,这种方法可能会对网站造成很大的损害.因为道理非常简单,搜索引擎并非按一篇文章