快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
quo;),甚至还包括一些系统文件(例如 /etc/passwd)。为了进行演示, 这个示例使用了一个可供用户键入文件名的文本框,但是可以在查询字符串中轻 松地提供文件名。

同时配置用户输入和文件系统访问权十分危险,因此 最好把应用程序设计为使用数据库和隐藏生成的文件名来避免同时配置。但是, 这样做并不总是有效。清单 2 提供了验证文件名的示例例程。它将使用正则表 达式以确保文件名中仅使用有效字符,并且特别检查圆点字符:..。

清 单 2. 检查有效的文件名字符

function isValidFileName($file) {
/* don''t allow .. and allow any "word" character \ / */
return preg_match(''/^(((?:\.)(?!\.))|\w)+$/'', $file);
}

保护数据库

2008 年 4 月, 美国某个州的狱政局在查询字符串中使用了 SQL 列名,因此泄露了保密数据。 这次泄露允许恶意用户选择需要显示的列、提交页面并获得数据。这次泄露显示 了用户如何能够以应用程序开发人员无法预料的方法执行输入,并表明了防御 SQL 注入攻击的必要性。

清单 3 显示了运行 SQL 语句的示例脚本。在 本例中,SQL 语句是允许相同攻击的动态语句。此表单的所有者可能认为表单是 安全的,因为他们已经把列名限定为选择列表。但是,代码疏忽了关于表单欺骗 的最后一个习惯 — 代码将选项限定为下拉框并不意味着其他人不能够发 布含有所需内容的表单(包括星号 [*])。

清单 3. 执行 SQL 语句

<html>
<head>
<title>SQL Injection Example</title>
</head>
<body>
<form id="myFrom" action="<? php echo 编写安全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">
<div><input type="text" name="account_number"
   value="<?php 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号

POST[''account_number'']) ?
     编写安全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[''account_number''] : ''''); ?>" />
<select name="col">
<option value="account_number">Account Number</option>
<option value="name">Name</option>
<option value="address">Address</option>
</select>
<input type="submit" value="Save" name="submit" /></div>
</form>
<?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''] == ''Save'') {
  /* do the form processing */
  $link = mysql_connect(''hostname'', ''user'', ''password'') or
    die (''Could not connect'' . mysql_error());
  mysql_select_db(''test'', $link);

    $col = 编写安全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[''col''];
  $select = "SELECT " . $col . " FROM account_data WHERE account_number = "
    . 编写安全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 [''account_number''] . ";" ;
  echo ''<p>'' . $select . ''</p>'';
  $result = mysql_query($select) or die(''<p>'' . mysql_error() . ''</p>'');
  echo ''<table>'';
   while ($row = mysql_fetch_assoc($result)) {
    echo ''<tr>'';
    echo ''<td>'' . $row [$col] . ''</td>'';
    echo ''</tr>'';
  }
  echo ''</table>'';
  mysql_close($link);
}
? >
</body>
</html>

因此,要形成保护数据库的习惯,请尽可能避免使用动态 SQL 代码。如果无法避免动态 SQL 代 码,请不要对列直接使用输入。清单 4 显示了除使用静态列外,还可以向帐户 编号字段添加简单

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号