`
web001
  • 浏览: 98801 次
  • 性别: 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
分享到:
评论

相关推荐

    PHP漏洞全解1-9_php安全开发技巧_php安全开发基础详解_

    这是一系列关于PHP安全开发的基础详解和技巧分享,对于任何PHP开发者来说,理解和掌握这些知识都是提升代码安全性的基石。 首先,我们要理解PHP安全开发的基础。这包括了解如何正确处理用户输入,因为大部分Web应用...

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

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

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

    【PHP5 技巧集-从魔兽看PHP设计模式】是一个关于PHP编程技巧的文章集合,其中涉及了多种实用的PHP开发技术。文章标题暗示了作者可能通过魔兽世界这款游戏中的某些概念来阐述PHP的设计模式,这可能包括如何在PHP中...

    PHP深度分析:101个核心技巧、窍门和问题解决方法 + 源代码

    - **预编译语句**:防止SQL注入,提升性能和安全性。 7. **网络编程**: - **HTTP通信**:使用cURL库发送HTTP请求,进行Web服务调用。 - **WebSocket**:实现双向实时通信,创建互动性强的应用。 8. **模板引擎...

    PHP代码安全点滴 原版扫描

    总之,《PHP代码安全点滴》这篇文章不仅强调了PHP安全的重要性,还提供了具体的方法和实践技巧,帮助开发者编写更加安全的PHP代码。遵循这些最佳实践,可以有效地减少网站和应用程序面临的威胁,保护用户数据免受...

    PHP高级技巧全集

    7. **数据库操作**:深入理解PDO或MySQLi,使用预编译语句和事务处理提高SQL查询的安全性和性能。 8. **模板引擎**:如Twig或Smarty,可以将业务逻辑与视图分离,使代码更易维护。 9. **自动化测试**:TDD(测试...

    深入理解PHP 高级技巧、面向对象与核心技术(原书第3版)源码

    《深入理解PHP 高级技巧、面向对象与核心技术(原书第3版)》是一本专为PHP开发者设计的深入学习书籍,旨在帮助读者掌握PHP的高级特性、面向对象编程以及核心概念。源码文件“phpvqp3_scripts”包含了本书中所讲解的...

    关于PHP安全编程的使用技巧

    在PHP编程中,确保代码的安全性是至关重要的。...以上这些知识点是PHP安全编程的基础,理解和掌握它们能够显著提高PHP应用程序的安全性。在实际开发中,应时刻保持警惕,将安全考虑贯穿于每一个细节。

    php的十个高级技巧

    ### PHP的十个高级技巧 #### 1. 使用DSO方式安装PHP 在Linux/Unix平台上,如果使用Apache作为Web服务器,通常会选择以DSO(Dynamic Shared Object)的方式安装PHP。这种方式能够提供更好的性能和资源利用效率。...

    几个PHP网站.zip

    【标题】"几个PHP网站.zip" 提供的是一些基于PHP编程语言构建的网站源码。PHP是一种广泛使用的开源脚本...此外,这些源码还能帮助开发者了解如何实现安全性、性能优化以及用户体验改进,从而提升个人的Web开发能力。

    PHP的十个高级技巧(TXT)

    在PHP编程领域,掌握一些高级技巧能够显著提升代码效率、可读性和可维护性。以下是对"PHP的十个高级技巧"的详细解析: 1. **闭包与匿名函数**: PHP 5.3 引入了闭包,这是一种可以捕获其所在作用域变量的匿名函数。...

    PHP编程常用技巧四则.doc

    以上四个技巧是PHP编程中常用且实用的方法,熟练掌握这些技巧可以提高开发效率,优化代码结构,同时确保服务器的安全性。在实际开发过程中,根据项目需求灵活运用这些技巧,能够使PHP应用程序更加高效和稳定。

    PHP网站开发案例教程

    8. **优化和调试**:讲解如何优化PHP代码以提高性能,使用错误日志进行调试,以及了解基本的Web服务器配置(如Apache或Nginx)以提升网站运行效率。 9. **部署与维护**:介绍如何将开发好的PHP网站部署到服务器,...

    PHP深度分析101个核心技巧、窍门和问题解决方法.pdf 高清扫描版

    书中描述提到的内容主要涉及“核心技巧、窍门和问题解决方法”,这意味着读者可以期望从本书中学习到高效和先进的PHP编程技术,比如性能优化、安全性增强、代码重构、数据处理、数据库交互、网络编程以及框架应用等...

    PHP+SQL考勤系统安全性实现(源代码+论文+答辩PPT+指导书)

    总之,《PHP+SQL考勤系统安全性实现》项目涵盖了Web开发的核心技术,不仅提供了实际的系统实现,还提供了理论支持和实践指导,对于提升开发者在PHP和SQL安全应用方面的技能具有重要意义。通过深入学习和实践,不仅...

    PHP和MySQL开发的8个技巧.

    以上8个技巧涵盖了PHP和MySQL开发中的基础到进阶的实践,熟练掌握这些技巧能够帮助开发者编写出更安全、更高效的代码,提升项目质量和维护性。在实际开发过程中,不断学习和实践这些方法,将有助于成为更优秀的PHP和...

    PHP动态网站开发项目实战 资源.zip

    文件可能讲解了如何实现安全的密码哈希、防止跨站请求伪造(CSRF)以及如何使用HTTPS提升网站安全性。 9. **性能优化**:可能包含如何使用缓存技术(如APC或OPcache)、数据库索引优化、减少HTTP请求等方法提升PHP...

    php开发高级技巧结合案例

    在PHP开发领域,掌握高级技巧是提升编程效率和代码质量的关键。本资料包"php开发高级技巧结合案例"深入探讨了PHP MVC开发模式,并聚焦PHP内核的理解,旨在帮助开发者进一步提升技能。以下是对这些主题的详细阐述: ...

    PHP+SQL考勤系统安全性实现(源代码+论文+答辩PPT+指导书).rar

    这个项目不仅包含了源代码,还提供了论文、答辩PPT以及指导书等配套资料,对于学习和理解Web应用程序的安全性设计具有很高的参考价值。 1. PHP基础与应用: PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域,...

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

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

Global site tag (gtag.js) - Google Analytics