【分享】5个 PHP 安全措施
2013-08-30 15:09
519 查看
#1:管理安装脚本
如果开发人员已经安装了一套第三方应用程序的PHP脚本,该脚本用于安装整个应用程序的工作组件,并提供一个接入点。大多数第三方软件包都建议在安装后,删除该目录包含的安装脚本。但开发人员希望保留安装脚本,他们可以创建一个.htaccess文件来控制管理访问目录。
AuthType
Basic
AuthName
“Administrators Only”
AuthUserFile
/usr/local/apache/passwd/passwords
Require
valid-user
任何未经授权的用户,如果试图访问一个受保护的目录,将会看到一个提示,要求输入用户名和密码。密码必须匹配指定的“passwords”文件中的密码。
#2:头文件[/b]
在很多情况下,开发人员可以将分布在应用程序的几个脚本包含进一个脚本里。这些脚本将包含一个“include”指令,集成单个文件到原始页面的代码里。当“include”文件包含敏感信息,包括用户名、密码和数据库访问密钥时,该文件的扩展名应该命名成“.php
",而不是典型的“.inc”扩展。“.php”扩展确保php引擎将处理该文件,并防止任何未经授权的访问。
#3:
MD5 vs. SHA[/b]
在某些情况下,用户最终会创建自己的用户名和密码,而站点管理员通常会对表单提交的密码加密,并保存在数据库中。在过去的几年中,开发人员会使用MD5(消息摘要算法)函数,加密成一个128位的字符串密码。今天,很多开发人员使用SHA-1(安全散列算法)函数来创建一个160位的字符串。
#4:
自动全局变量[/b]
php.ini文件中包含的设置称为“register_globals”。P服务器会根据register_globals的设置,将会为服务器变量和查询字符串自动创建全局变量。在安装第三方的软件包时,比如内容管理软件,像Joomla和Drupal,安装脚本将引导用户把register_globals设置为“关闭”。将设置改变为“关闭”可以确保未经授权的用户无法通过猜测变量名称及验证密码来访问数据。
#5:
初始化变量和值[/b]
许多开发人员都落入了实例化变量不赋值的陷阱,原因可能由于时间的限制而分心,或缺乏努力。身份验证过程中的变量,应该在用户登录程序开始前就有值。这个简单的步骤可以防止用户绕过验证程序或访问站点中某些他们没有权限的区域。
阅读(54) | 评论(0) | 转发(0) |
0
上一篇:分享个小框架---MioPHP
下一篇:从HTML到数组的重点整理,大家借鉴借鉴哦,看到不足帮忙修改。
相关热门文章
phpStudy 2013下载,PHP5开发...
草和谐榴社区caoliushequ...
灵芝的种类和图片
为PHP添加GD库支持
秋天的惆怅
大家都是用什么来管理hadoop集...
网站被人挂了吗,添加了些程序...
Nginx如何保证不走宕机的那个...
大家谈谈MYSQL客户端和服务器...
以下代码运行后为何会输出5?...
给主人留下些什么吧!~~
评论热议
如果开发人员已经安装了一套第三方应用程序的PHP脚本,该脚本用于安装整个应用程序的工作组件,并提供一个接入点。大多数第三方软件包都建议在安装后,删除该目录包含的安装脚本。但开发人员希望保留安装脚本,他们可以创建一个.htaccess文件来控制管理访问目录。
AuthType
Basic
AuthName
“Administrators Only”
AuthUserFile
/usr/local/apache/passwd/passwords
Require
valid-user
任何未经授权的用户,如果试图访问一个受保护的目录,将会看到一个提示,要求输入用户名和密码。密码必须匹配指定的“passwords”文件中的密码。
#2:头文件[/b]
在很多情况下,开发人员可以将分布在应用程序的几个脚本包含进一个脚本里。这些脚本将包含一个“include”指令,集成单个文件到原始页面的代码里。当“include”文件包含敏感信息,包括用户名、密码和数据库访问密钥时,该文件的扩展名应该命名成“.php
",而不是典型的“.inc”扩展。“.php”扩展确保php引擎将处理该文件,并防止任何未经授权的访问。
#3:
MD5 vs. SHA[/b]
在某些情况下,用户最终会创建自己的用户名和密码,而站点管理员通常会对表单提交的密码加密,并保存在数据库中。在过去的几年中,开发人员会使用MD5(消息摘要算法)函数,加密成一个128位的字符串密码。今天,很多开发人员使用SHA-1(安全散列算法)函数来创建一个160位的字符串。
#4:
自动全局变量[/b]
php.ini文件中包含的设置称为“register_globals”。P服务器会根据register_globals的设置,将会为服务器变量和查询字符串自动创建全局变量。在安装第三方的软件包时,比如内容管理软件,像Joomla和Drupal,安装脚本将引导用户把register_globals设置为“关闭”。将设置改变为“关闭”可以确保未经授权的用户无法通过猜测变量名称及验证密码来访问数据。
#5:
初始化变量和值[/b]
许多开发人员都落入了实例化变量不赋值的陷阱,原因可能由于时间的限制而分心,或缺乏努力。身份验证过程中的变量,应该在用户登录程序开始前就有值。这个简单的步骤可以防止用户绕过验证程序或访问站点中某些他们没有权限的区域。
阅读(54) | 评论(0) | 转发(0) |
0
上一篇:分享个小框架---MioPHP
下一篇:从HTML到数组的重点整理,大家借鉴借鉴哦,看到不足帮忙修改。
相关热门文章
phpStudy 2013下载,PHP5开发...
草和谐榴社区caoliushequ...
灵芝的种类和图片
为PHP添加GD库支持
秋天的惆怅
大家都是用什么来管理hadoop集...
网站被人挂了吗,添加了些程序...
Nginx如何保证不走宕机的那个...
大家谈谈MYSQL客户端和服务器...
以下代码运行后为何会输出5?...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- 为您介绍5个 PHP 安全措施
- 5个 PHP 安全措施
- 5个 PHP 安全措施(转)
- PHP的5个安全措施小结
- PHP的5个安全措施小结
- 为您介绍5个 PHP 安全措施
- 如何构建你的安全php程序 PHP安全防范知识点滴分享
- [30期] 【分享】PHP开发绝对不能违背的安全铁则
- PHP网站常见安全漏洞,及相应防范措施总结
- PHP安全之数据库安全——SQL注入及预防措施
- PHP 安全检测代码片段(分享)
- 日本家庭如何预防地震?暨常用安全措施分享 推荐
- PHP网站常见安全漏洞,及相应防范措施总结
- PHP特点之安全模式1——保安措施和安全模式
- PHP网站常见安全漏洞,及相应防范措施总结
- lnmp架构下php安全配置分享
- PHP网站安全,PHP程序安全的几个措施
- PHP 安全检测代码片段(分享)
- PHP安全防范技巧分享