热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP中的一般安全策略

PHP是一种非常强大的语言,其解释器不管是作为WEB服务器的模块还是单独地以CGI程序的形式运行,都能够访问文件

PHP 是一种非常强大的语言,其解释器不管是作为 WEB 服务器的模块还是单独地以 CGI 程序的形式运行,都能够访问文件,执行命令,或者建立到服务器的网络连接。在默认情况下,这些特性给在 WEB 上运行的机制带来了安全隐患。针对这一问题,PHP 被设计成一种更加安全的语言,使得其跟 Perl 和 C 语言比起来,更适合用来编写 CGI 程序。加上其有良好的编译时和运行时设置选项以及适当的代码编写规则,PHP 能够为您找到您真正需要的自由与安全的结合点。

由于我们可以在很多不同的方面利用 PHP,因此它有很多设置选项来控制其行为。一组庞大的可选参数能够保证您可以将 PHP 用于许多不同的目的,但这同时也意味着这些参数和服务端配置的组合会带来一些安全问题。

PHP 的配置与其代码相比,有着同样的灵活性。PHP 可以用来建立完整的服务端应用程序,拥有所有外壳用户的权限;它也可以在被严格控制的环境下用作一个简单的服务端包含,仅承担很小的风险。您如何建立该环境,以及其安全性如何,在很大程度上取决于 PHP 的开发者。

本系列文章将以一些总的安全建议开始,解释不同的配置选项组合以及它们能够被安全的使用的情况,然后针对不同的安全等级要求,描述一些在编写代码过程中采取的安全策略。

一般策略


一个绝对安全的系统是不可能实现的,因此一个安全策略的核心通常都是寻求风险与可用性之间的平衡点。如果用户提交的每个变量都需要两种生物统计学的校验(例如视网膜扫描和指纹检验),那么我们将会需要进行极其高阶的计算。这还可能造成我们需要花费半个小时来填写一个及其繁琐的表单,使得用户更倾向于寻找一些捷径来绕过这些安全机制。

最好的安全策略通常能够不那么明显地适应环境的需求,它不会妨碍用户完成他们的工作,也不会使代码编写员面过分负担复杂的情形实际上,一些安全攻击的成功正是这种过分冗杂的安全机制随着时间逐渐毁坏的结果

我们应该记住这样一句很有价值得话:一个系统充其量仅相当于一条锁链中最薄弱的环节。如果所有的事务的时间、地点、类型等信息都被详细的写入日志,但对用户的认证仅仅只是基于一个单一的 COOKIE,那么将用户记入事务日志的有效性就被严重地削弱了。

在测试的时候,请记住,即时是对最简单的页面,您也不可能测试到所有的可能性。您所预料到的输入可能和来自于一个不满的雇员,一个黑客用数月时间或者一只不小心踩到键盘的猫所进行的输入相去甚远。这也是为什么说我们最好能够从逻辑的全局上来审视我们的代码,从而辨别哪里出现不可预料的数据,然后再考虑如何修改、减少或者放大它们。

Internet 上充满了想试图通过破坏你的代码、黑掉你的网站、发布不适合的内容等途径来扬名立万的人。不管你的网站是大还是小,只要你在线,有一部可以连接得到的服务器,你就能成为目标。许多黑客程序并不分辩网站的大小,他们只是简单地在一大片 IP 范围内搜罗牺牲者。我们要尽可能不要使自己成为其中的一员


推荐阅读
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 解决MongoDB Compass远程连接问题
    本文记录了在使用阿里云服务器部署MongoDB后,通过MongoDB Compass进行远程连接时遇到的问题及解决方案。详细介绍了从防火墙配置到安全组设置的各个步骤,帮助读者顺利解决问题。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 解决FCKeditor应用主题后上传问题及优化配置
    本文介绍了在Freetextbox收费后选择FCKeditor作为替代方案时遇到的上传问题及其解决方案。通过调整配置文件和调试工具,最终解决了上传失败的问题,并对相关配置进行了优化。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
author-avatar
斯林力克密封材料科技有限公司
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有