03 2008 档案
摘要:随着PHP项目的增大,软件设计与组织在代码的可维护性上起着越来越重要的作用。尽管对于什么是最好的编程方式众说纷纭(关于面向对象优点的争论常常发生),但基本上每个开发者会理解和欣赏模块化设计的价值。 本章说明了使用包含时会面临的安全问题。脚本中include或require的文件把你的应用分成了逻辑上分离的两部分。我还会着重强调和纠正一些常见的误解,特别是有关于如何编程的问题。 小提示 ...
阅读全文
摘要:本章主要讨论会话和有状态的Web应用的内在风险。你会首先学习状态、cookies、与会话;然后我会讨论关于cookie盗窃、会话数据暴露、会话固定、及会话劫持的问题及防范它们的方法。 正如大家知道的,HTTP是一种无状态的协议。这说明了两个HTTP请求之间缺乏联系。由于协议中未提供任何让客户端标识自己的方法,因此服务器也就无法区分客户端。 虽然HTTP无状态的特性还是有一些好处,毕竟维护状...
阅读全文
摘要:PHP的作用常常是沟通各种数据源及用户的桥梁。事实上,有些人认为PHP更像是一个平台而不是一个编程语言。基于这些原因,PHP频繁用于与数据库的交流。 PHP可以很好的胜任这个任务,其原因特别是由于它能与很多种数据库连接。下面列举了PHP支持的小部分数据库: DB2 ODBC SQLite InterBase Oracle Sybase MySQL PostgreSQL DBM 与任何...
阅读全文
摘要:2.7. HTTP请求欺骗 一个比欺骗表单更高级和复杂的攻击方式是HTTP请求欺骗。这给了攻击者完全的控制权与灵活性,它进一步证明了不能盲目信任用户提交的任何数据。 为了演示这是如何进行的,请看下面位于http://example.org/form.php的表单: CODE: Please select a color: 如果用户选择了Red并点击了Se...
阅读全文
摘要:制造一个欺骗表单几乎与假造一个URL一样简单。毕竟,表单的提交只是浏览器发出的一个HTTP请求而已。请求的部分格式取决于表单,某些请求中的数据来自于用户。 大多数表单用一个相对URL地址来指定action属性: 当表单提交时,浏览器会请求action中指定的URL,同时它使用当前的URL地址来定位相对URL。例如,如果之前的表单是对http://example.org/path/...
阅读全文
摘要:2.5. 跨站请求伪造 跨站请求伪造(CSRF)是一种允许攻击者通过受害者发送任意HTTP请求的一类攻击方法。此处所指的受害者是一个不知情的同谋,所有的伪造请求都由他发起,而不是攻击者。这样,很你就很难确定哪些请求是属于跨站请求伪造攻击。事实上,如果没有对跨站请求伪造攻击进行特意防范的话,你的应用很有可能是有漏洞的。 请看下面一个简单的应用,它允许用户购买钢笔或铅笔。界面上包含下面的表...
阅读全文
摘要:2.4. 跨站脚本攻击 跨站脚本攻击是众所周知的攻击方式之一。所有平台上的Web应用都深受其扰,PHP应用也不例外。 所有有输入的应用都面临着风险。Webmail,论坛,留言本,甚至是Blog。事实上,大多数Web应用提供输入是出于更吸引人气的目的,但同时这也会把自己置于危险之中。如果输入没有正确地进行过滤和转义,跨站脚本漏洞就产生了。 以一个允许在每个页面上录入评论的应用为例,它使用...
阅读全文
摘要:2.3. 文件上传攻击 有时在除了标准的表单数据外,你还需要让用户进行文件上传。由于文件在表单中传送时与其它的表单数据不同,你必须指定一个特别的编码方式multipart/form-data: CODE: 一个同时有普通表单数据和文件的表单是一个特殊的格式,而指定编码方式可以使浏览器能按该可格式的要求去处理。 允许用户进行选择文件并上传的表单元素是很简单的: CODE: 该元素...
阅读全文
摘要:2.2. 语义URL攻击 好奇心是很多攻击者的主要动机,语义URL攻击就是一个很好的例子。此类攻击主要包括对URL进行编辑以期发现一些有趣的事情。例如,如果用户chris点击了你的软件中的一个链接并到达了页面http://example.org/private.php?user=chris, 很自然地他可能会试图改变user的值,看看会发生什么。例如,他可能访问http://examp...
阅读全文
摘要:2.1. 表单与数据 在典型的PHP应用开发中,大多数的逻辑涉及数据处理任务,例如确认用户是否成功登录,在购物车中加入商品及处理信用卡交易。 数据可能有无数的来源,做为一个有安全意识的开发者,你需要简单可靠地区分两类数据: l 已过滤数据 l 被污染数据 所有你自己设定的数据可信数据,可以认为是已过滤数据。一个你自己设定...
阅读全文
摘要:1.3. 方法 就像上一节中的原则一样,开发安全应用时,还有很多方法可以使用。下面提到的所有方法同样是我认为比较重要的。 某些方法是抽象的,但每一个都有实例说明如何应用及其目的。 1.3.1. 平衡风险与可用性 用户操作的友好性与安全措施是一对矛盾,在提高安全性的同时,通常会降低可用性。在你为不合逻辑的使用者写代码时,必须要考虑到符合逻辑的正常使用者。要达到适...
阅读全文
摘要:1.2.原则 你可以列出一大堆开发安全应用的原则,但在本处我选取了我认为对PHP开发者最重要的几个原则。 这些原则有意的写得抽象和理论化。这样做的目的是帮助你从大处着眼,不拘泥于细节。你需要把它们看成是你行动的指南。 1.2.1. 深度防范 深度防范原则是安全专业人员人人皆知的原则,它说明了冗余安全措施的价值,这是被历史所证明的。 深度防范原则可以...
阅读全文
摘要:一:php功能: PHP有许多适合于WEB开发的功能。一些在其它语言中很难实现的普通工作在PHP中变得易如反掌,这有好处也有坏处。有一个功能比其它功能来更引人注目,这个功能就是register_globals。 1.1.1. 全局变量注册 如果您还能记起早期WEB应用开发中使用C开发CGI程序的话,一定会对繁琐的表单处理深有体会。当PHP的register_glob...
阅读全文
摘要:很久前就看到deviantART在改版时用上了ajax的动态导航,前几天又经小常提醒看到了国内的柠檬网也用上了这样的导航,晚上简单看了下柠檬网上的代码,发现写得很死.而且扩展性也不怎么样.于是上网搜索没想到找到了这个牛比的主儿:FASTFIND.(DEMO在这儿) 效果相当得令我快乐,虽然DEMO还有许多不足,但还是让我忍不住下载下来研究下. 整个DEMO所需的js文件:jQuery.js, I...
阅读全文
摘要:引用:http://www.cnblogs.com/hacker84/archive/2008/02/26/1081852.html的改你的网页内容,等等。。。 好了,其它的废话不说了,看看下边的吧: 记得要将域名指为域名,而不是WWW或者其它的,例:shagndu8.com 而不能指向www.shangdu8.com 1、请在父网页上加上以下代码: 1 2、请在要套的IFRAME网页上加上以下代码(此页面可以放在任何服务器上,可以不是shagndu8.com的服务器上,比如:http://www.cnblogs.com/; 1 这样,IE就被骗了,上当了,哈哈,他认为是在同一个域下,IFRA
阅读全文
摘要:引用:http://www.cnblogs.com/hacker84/archive/2008/02/25/1081165.html 看到了吧,关键就在于onload="this.height=iFrame1.document.body.scrollHeight"! 下边这个正确~~~~~~~~~~~~~ Code highlighting produced by Actipro C...
阅读全文
摘要:本博客已搬家 地址:www.czhphp.com 所有更新都会在新博客进行 谢谢大家的支持! (一). Asp.net Ajax框架教程 http://blog.csdn.net/ChengKing/archive/2008/01/09/2032497.aspx(二).Silverlight入门教程(基于Asp.net运行环境示例) http://blog.csdn.net/ChengKing/archive/2008/03/09/2160243.aspx(三)JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境) http://blog.csdn.net/Chen
阅读全文
摘要:本博客已搬家 地址:www.czhphp.com 所有更新都会在新博客进行 谢谢大家的支持! 本博客已搬家 地址:www.czhphp.com 所有更新都会在新博客进行 谢谢大家的支持! 引用至: http://www.cnblogs.com/hacker84/archive/2008/03/12/1101319.html 托拽购物车,很好很强大!http://bbs.okajax.com/ximen/kj/jqinterface/cart.html复杂托拽http://bbs.okajax.com/ximen/kj/jqinterface/download.html各种类型的托拽,效果不错!
阅读全文
摘要:本博客已搬家 地址:www.czhphp.com 所有更新都会在新博客进行 谢谢大家的支持! [收藏]jquery插件tzsmin收录,使用标签:jquery,时间:2008-3-12 12:55:24 | 相关网摘,我也收藏http://blog.csdn.net/iamfish/archive/2008/03/11/2170163.aspx4窥探jQuery——面向JavaScript程序员liuwei_cd收录,使用标签:jQuery,时间:2008-2-14 20:29:26 | 相关网摘,我也收藏http://java.csdn.net/page/7f02eeca-5509-4ce7
阅读全文
摘要:这几天看了解了一下DNN,首先安装问题浪费了好长时间,下面就把我的安装过程和大家分享一下,这里我是执行的安装文件,不是源码文件: 第一:修改配置文件: 把 realse.config文件改名为web.config 因为我这里使用的sql 2000 数据库,所以web.conf...
阅读全文