快速业务通道

编写安全PHP应用程序的七个习惯

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

在提及安全性问题时,需要注意,除了实际的平台和操作系统安全性问题之 外,您还需要确保编写安全的应用程序。在编写 PHP 应用程序时,请应用下面 的七个习惯以确保应用程序具有最好的安全性:

验证输入

保护 文件系统

保护数据库

保护会话数据

保护跨站点脚本( Cross-site scripting,XSS)漏洞

检验表单 post

针对跨站点 请求伪造(Cross-Site Request Forgeries,CSRF)进行保护

验证输入

在提及安全性问题时,验证数据是您可能采用的最重要的习惯。而在提 及输入时,十分简单:不要相信用户。您的用户可能十分优秀,并且大多数用户 可能完全按照期望来使用应用程序。但是,只要提供了输入的机会,也就极有可 能存在非常糟糕的输入。作为一名应用程序开发人员,您必须阻止应用程序接受 错误的输入。仔细考虑用户输入的位置及正确值将使您可以构建一个健壮、安全 的应用程序。

虽然后文将介绍文件系统与数据库交互,但是下面列出了 适用于各种验证的一般验证提示:

使用白名单中的值

始终重新 验证有限的选项

使用内置转义函数

验证正确的数据类型(如数 字)

白名单中的值(White-listed value)是正确的值,与无效的黑名 单值(Black-listed value)相对。两者之间的区别是,通常在进行验证时,可 能值的列表或范围小于无效值的列表或范围,其中许多值可能是未知值或意外值 。

在进行验证时,记住设计并验证应用程序允许使用的值通常比防止所 有未知值更容易。例如,要把字段值限定为所有数字,需要编写一个确保输入全 都是数字的例程。不要编写用于搜索非数字值并在找到非数字值时标记为无效的 例程。

保护文件系统

2000 年 7 月,一个 Web 站点泄露了保存 在 Web 服务器的文件中的客户数据。该 Web 站点的一个访问者使用 URL 查看 了包含数据的文件。虽然文件被放错了位置,但是这个例子强调了针对攻击者保 护文件系统的重要性。

如果 PHP 应用程序对文件进行了任意处理并且含 有用户可以输入的变量数据,请仔细检查用户输入以确保用户无法对文件系统执 行任何不恰当的操作。清单 1 显示了下载具有指定名的图像的 PHP 站点示例。

清单 1. 下载文件

<?php
if ( 编写安全PHP应用程序的七个习惯 - 凌众科技
快速业务通道

编写安全PHP应用程序的七个习惯

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

POST[''submit''] == ''Download'') {
$file = 编写安全PHP应用程序的七个习惯 - 凌众科技
快速业务通道

编写安全PHP应用程序的七个习惯

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

POST[''fileName''];
header("Content-Type: application/x-octet-stream");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=\"" . $file . "\";" );
$fh = fopen($file, ''r'');
while (! feof($fh))
{
echo(fread($fh, 1024));
}
fclose($fh);
} else {
echo("<html><head><");
echo("title>Guard your filesystem</title></head>");
echo("<body><form id=\"myFrom\" action=\"" . 编写安全PHP应用程序的七个习惯 - 凌众科技
快速业务通道

编写安全PHP应用程序的七个习惯

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

SERVER[''PHP_SELF''] .
"\" method=\"post\">");
echo("<div><input type=\"text\" name=\"fileName\" value=\"");
echo(isset( 编写安全PHP应用程序的七个习惯 - 凌众科技
快速业务通道

编写安全PHP应用程序的七个习惯

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

REQUEST[''fileName'']) ? 编写安全PHP应用程序的七个习惯 - 凌众科技
快速业务通道

编写安全PHP应用程序的七个习惯

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

REQUEST[''fileName''] : '''');
echo("\" />");
echo("<input type=\"submit\" value=\"Download\" name=\"submit\" /></div>");
echo("</form></body></html>");
}

正如您所见,清单 1 中比较危险的脚本将处理 Web 服务器拥有 读取权限的所有文件,包括会话目录中的文件(请参阅 “保护会话数据 &rd

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号