`
web001
  • 浏览: 96277 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

如何提升PHP网站安全性的5个技巧

    博客分类:
  • PHP
阅读更多

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

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

当然也有很多方式去启用错误报告。比如在 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['website'] ) && $_POST['website'] == ‘http://tjwzjs.cn')

{

     $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.“‘”);

2
3
分享到:
评论

相关推荐

    提高WordPress博客安全性10个技巧.doc

    本文将为大家介绍10个小诀窍来提高WordPress博客的安全性。WordPress用户都知道wp-config.php文件的重要性,它保存了所有的配置信息:用户名、密码等等。所以控制对 wp-config.php 的访问权限就变得尤为必要。 安全...

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

    所以在这篇教学文章中,我们将大致看看几个实用的技巧来让你避免一些常见的PHP安全问题。 技巧1:使用合适的错误报告 一般在开发过程中,很多程序员总是忘了制作程序错误报告,这是极大的错误,因为恰当的错误报告不...

    PHP应用程序安全编程

    提高运行PHP代码的服务器的安全性,包括对Apache、MySQL、IIS/SQL服务器的具体指导;实施严格的身份验证以及加密码应用程序;预防危险的跨站点脚本攻击;系统化测试应用程序的安全性,包括探索式测试和PHP自动化测试...

    Essential PHP Security -PHP安全基础

    这一转变带来了亟待关注的问题,那就是性能、可维护性、可测性、可靠性以及最重要的一点—安全性。 与语言的一些功能如条件表达式、循环结构等相比,安全性更为抽象。事实上,安全性更像是开发者的特性而不是语言...

    php5技巧集-从魔兽看PHP设计模式

    用SSH与PHP相连接 确保数据传输的安全性 从魔兽看PHP设计模式 Fedora下Zend Studio 6.1.2 的配置 微软对PHP支持的改进 及其它一些胡言乱语 php生成静态页面的办法 PHP绘制3D图形之自定义图形及矢量图

    细说PHP(第2版)

    PHP是开发Web应用系统最理想的工具,易于使用、功能强大、成本低廉、高安全性、开发速度快且执行灵活。《细说PHP(第2版)》以实用为目标设计,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解...

    PHP100视频教程 53:PHP如何防止注入及开发安全

    1、PHP注入的基本原理 程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,...

    PHP语言开发常见问题解决办法入门总结.docx

    技巧举例:在使用mysqli或PDO扩展操作数据库时,采用预处理语句防止SQL注入,提高安全性及代码可维护性。 使用PHP内置函数 实践指南:充分利用PHP内置的字符串处理函数如trim(), strpos(), 数组处理函数如array_...

    PHP100视频教程 53:PHP如何防止注入及开发安全.rar

    用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据 库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的 SQL Injection,即SQL注入。 受影响的系统:对输入的参数...

    细说PHP(第二版)(电子书 文字版 完整版)高洛峰

    内容涵盖了PHP的运行环境搭建、Web服务器Apache的配置与应用、动态网站开发的前台技术、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP 5面向对象的程序设计思想、Web开发的设计...

    细说PHP(第2版) - 高洛峰

    PHP是开发Web应用系统最理想的工具,易于使用、功能强大、成本低廉、高安全性、开发速度快且执行灵活。全书以实用为目标设计,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解,并附有大量的...

    PHP语言教程&案例&相关项目

    PHP是一种流行的服务器端脚本语言,特别适合用于Web开发。以下是关于PHP语言教程、案例以及...此外,还有一些教程会介绍PHP与数据库交互、表单处理、会话管理、安全性等方面的知识,这些都是Web开发中非常重要的内容。

    PHP和MySQL Web开发第4版pdf以及源码

    16.5 Web服务器和PHP的安全性 16.5.1 保持软件的更新 16.5.2 查看php.ini文件 16.5.3 Web服务器配置 16.5.4 Web应用的商业主机服务 16.6 数据库服务器的安全性 16.6.1 用户和权限系统 16.6.2发送数据至服务器 16.6.3...

    PHP Wed2.0开发实战代码

    以实际的项目作为例子贯穿始终,内容涵盖了PHP项目开发的各个方面,从基础语法、数据库基础、需求分析、数据库设计到附件处理、评论处理、站内搜索、登录验证、后台管理、安全部署等各方面的实用技巧。此外,本书...

    PHP4.0 高级篇

    4.2 安全性考虑 106 4.2.1 不要信任Web 107 4.2.2 不要重新发明加密法 111 4.2.3 开发组需要资深人员 118 4.2.4 认证 118 4.3 为什么适用性很重要 120 4.3.1 Web应用程序的“适用性” 121 4.3.2 打折式适用性工程 ...

    PHP和MySQL WEB开发(第4版)

    16.5 Web服务器和PHP的安全性 16.5.1 保持软件的更新 16.5.2 查看php.ini文件 16.5.3 Web服务器配置 16.5.4 Web应用的商业主机服务 16.6 数据库服务器的安全性 16.6.1 用户和权限系统 16.6.2发送数据至服务器 ...

    PHP+Ajax Web 2.0编程技术与项目开发大全

    以实际的项目作为例子贯穿始终,内容涵盖了PHP项目开发的各个方面,从基础语法、数据库基础、需求分析、数据库设计到附件处理、评论处理、站内搜索、登录验证、后台管理、安全部署等各方面的实用技巧。此外,本书...

    《细说PHP》高洛峰

    PHP是开发Web应用系统最理想的工具,易于使用、功能强大、成本低廉、高安全性、开发速度快且执行灵活。全书以实用为目标设计,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解,并附有大量的...

    《PHP Web Services (English)》是一本关于使用 PHP 构建 Web 服务的书籍 在这本书中,你可以学习

    该书通常会涵盖以下内容: ...安全和身份验证: 探讨如何确保 Web 服务的安全性,包括身份验证、授权、加密等方面的技术和实践。 性能优化和调试: 提供优化 Web 服务性能和调试技巧的实用建议和方法。

Global site tag (gtag.js) - Google Analytics