PHP 安全措施

fuxingdaima 于 2013-03-01 07:46:13 发布
阅读量403 收藏
点赞数
分类专栏: PHP
PHP 专栏收录该内容
18 篇文章
订阅专栏
    多年来,PHP一直是一个稳定的、廉价的运行基于web应用程序的平台。像大多数基于web的平台一样,PHP也是容易受到外部攻击的。开发人员、数据库架构师和系统管理员在部署PHP应用程序到服务器之前都应该采取预防措施。大部分预防措施可以通过几行代码或者把应用程序设置稍作调整即可完成。  
    #1:管理安装脚本
转自:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2012/0712/10678.html
  如果开发人员已经安装了一套第三方应用程序的PHP脚本,该脚本用于安装整个应用程序的工作组件,并提供一个接入点。大多数第三方软件包都建议在安装后,删除该目录包含的安装脚本。但开发人员希望保留安装脚本,他们可以创建一个.htaccess文件来控制管理访问目录。
  AuthType Basic
  AuthName “Administrators Only”
  AuthUserFile /usr/local/apache/passwd/passwords
  Require valid-user
  任何未经授权的用户,如果试图访问一个受保护的目录,将会看到一个提示,要求输入用户名和密码。密码必须匹配指定的“passwords”文件中的密码。
  #2:头文件
  在很多情况下,开发人员可以将分布在应用程序的几个脚本包含进一个脚本里。这些脚本将包含一个“include”指令,集成单个文件到原始页面的代码里。当“include”文件包含敏感信息,包括用户名、密码和数据库访问密钥时,该文件的扩展名应该命名成“.php ",而不是典型的“.inc”扩展。“.php”扩展确保php引擎将处理该文件,并防止任何未经授权的访问。
  #3: MD5 vs. SHA
  在某些情况下,用户最终会创建自己的用户名和密码,而站点管理员通常会对表单提交的密码加密,并保存在数据库中。在过去的几年中,开发人员会使用MD5(消息摘要算法)函数,加密成一个128位的字符串密码。今天,很多开发人员使用SHA-1(安全散列算法)函数来创建一个160位的字符串。
  #4: 自动全局变量
  php.ini文件中包含的设置称为“register_globals”。P服务器会根据register_globals的设置,将会为服务器变量和查询字符串自动创建全局变量。在安装第三方的软件包时,比如内容管理软件,像Joomla和Drupal,安装脚本将引导用户把register_globals设置为“关闭”。将设置改变为“关闭”可以确保未经授权的用户无法通过猜测变量名称及验证密码来访问数据。
  #5: 初始化变量和值
  许多开发人员都落入了实例化变量不赋值的陷阱,原因可能由于时间的限制而分心,或缺乏努力。身份验证过程中的变量,应该在用户登录程序开始前就有值。这个简单的步骤可以防止用户绕过验证程序或访问站点中某些他们没有权限的区域。
确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
fuxingdaima
关注 关注
  • 0
    点赞
  • 踩
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  • 分享
    复制链接
    分享到 QQ
    分享到新浪微博
    扫一扫
  • 举报
    举报
专栏目录
参与评论 您还未登录,请先 登录 后发表或查看评论
fuxingdaima

博客等级

码龄14年
91
原创
44
点赞
88
收藏
25
粉丝
关注
私信

热门文章

  • vim多标签和多窗口 42350
  • Mybatis使用及原理解析 23367
  • wampserver的apache无法启动原因之一 16042
  • tomcat部署多工程Singleton bean creation not allowed while the singletons of this factory are in destructi 13837
  • 解决T2A W2A A2W的报错error C2065: “_lpw”: 未声明的标识符 8181

分类专栏

  • C/C++
    13篇
  • 设计模式
    1篇
  • windows
    7篇
  • linux
    49篇
  • android
    2篇
  • 数据库
    11篇
  • mongodb
    2篇
  • lua
    2篇
  • XML
  • web
    6篇
  • 算法
    2篇
  • UML
    1篇
  • PHP
    18篇
  • Thinking
    1篇
  • 生活
    1篇
  • 基础笔记
    8篇
  • 读书笔记
    5篇
  • mysql
    3篇
  • jquery
    1篇
  • java
    6篇
  • eclipse
    3篇
  • HelloWorld系列

展开全部 收起

上一篇:
php会话处理
下一篇:
linux安装软件过程

最新评论

  • 解决T2A W2A A2W的报错error C2065: “_lpw”: 未声明的标识符

    Bravada_moon: 解决,谢谢

  • wampserver的apache无法启动原因之一

    苍ing: 感谢分享,提供了一种解决问题的方式。

  • jquery的mouseover/mouseleave和mouseenter/mouseout区别,横向多级滑动菜单

    吴士龙: 感谢分享,很不错的demo案例,希望可以帮助到更多的朋友

  • Mybatis使用及原理解析

    泥瓦匠: [code=html] 热人软饭分发3法254饭5 [/code]

  • mongodb客户端编程

    天地一扁舟: 朋友您好,您在第二大步的第5点中提到:需要下载vc2010_js,我下载了,但那个压缩包的解压密码是多少的

最新文章

  • tomcat部署多工程Singleton bean creation not allowed while the singletons of this factory are in destructi
  • eclipse自动补全
  • eclipse luna+tomcat7.0+JDK7.0+maven环境配置
2017年3篇
2016年3篇
2015年2篇
2014年6篇
2013年98篇
2012年15篇

目录

展开全部

收起

目录

展开全部

收起

上一篇:
php会话处理
下一篇:
linux安装软件过程

分类专栏

  • C/C++
    13篇
  • 设计模式
    1篇
  • windows
    7篇
  • linux
    49篇
  • android
    2篇
  • 数据库
    11篇
  • mongodb
    2篇
  • lua
    2篇
  • XML
  • web
    6篇
  • 算法
    2篇
  • UML
    1篇
  • PHP
    18篇
  • Thinking
    1篇
  • 生活
    1篇
  • 基础笔记
    8篇
  • 读书笔记
    5篇
  • mysql
    3篇
  • jquery
    1篇
  • java
    6篇
  • eclipse
    3篇
  • HelloWorld系列

展开全部 收起

目录

评论
被折叠的  条评论 为什么被折叠? 到【灌水乐园】发言
查看更多评论
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值