木子屋 Dnawo's BLOG

2009-06 归档

共 39 篇

淘宝店铺发贴漏洞:可执行任何html代码

在发贴时输入以下内容并保存: 保存后显示结果为: 这说明淘宝程序有对html代码进行过滤,好了,我们对内容稍做修改: 这次保存后显示的结果为: 可以猜测:在贴子内容显示到页面前,淘宝将实体转化成了字符(如),从而使我们精心构造的html代码得以执行!利用这一原理,我们可以在贴子中执行任何html代码,甚至是js代码都能被执行!

Effective C# 原则8:确保0对于值类型数据是有效的

.Net系统默认所有的对象初始化时都为0。这并没有提供一个方法来预防其他程序员创建的值类型数据的实例在初始化是都是0。请让你的数据类型默认值也是0。 一个特殊情况是在枚举类型数据中。决不要创建一个不包括0在内的枚举类型。所有的枚举类型都是从System.ValueType派生的。枚举类型的值是从0开始的,但你可以改变这一行为: sphere此时的值就是0,而这并不是一个有效的值。枚举类型的取值限制在所有列举的值中,任何依懒这一(普通)事实的代码都将无法工作。当你为你的枚举类型创建你自己的取值时,请确保0是当中的一个。如果你的枚举类型采用的是以位(bit)模式,把0定义为其它属性不存在时的取值。…

使用SOAP 标头提高Web 服务安全性

默认情况下,只要知道一个Web 服务的地址,我们就可以随意调用他,今天我们通过在SOAP 标头添加对调用Web 服务用户身份的验证,进而提高Web 服务安全性。 在Web 服务中接收和处理 SOAP 标头的基本步骤: ·创建一个从 SoapHeader 派生的类,表示传入 SOAP 标头的数据。 ·将一个成员添加到实现 XML Web services 的类或 XML Web services 客户端代理类(它们属于在第一步创建的类型)。 ·指定第二步中在 MemberName 属性中创建的成员,将 SoapHeaderAttribute 应用于 XML Web services 方法或代理类中的对应方法。…

使用.NET进行WAP开发

WAP应用程序结构 首先你拥有一个Web应用,那么集成WAP服务就相当容易。 你不必为原来的业务逻辑进行重新构建,而且如果你Web本身的应用就有分层的,那么扩展到WAP是很方便的。 对于我们目前的应用,我们可以简单的认为是WEB应用的Mobile迁移。更多的是在UI\UE上的调整。 WAP采用什么标准 1.XHTML Mobile 1.0(WAP2.0) Google Mobile wap.taobao.com 3g.sina.com.cn 2.WML1.1 3g.qq.com wap.kong.net 3g.sina.com.cn 对比了一些网站WAP开发。google的Mobile应用都是基于XHTML Mobile1.0,也的确做的很优秀。其他很多WAP网站,都是支持WML1.1 和 XHTML Mobile 双标准的。…

在C#程序设计中使用Win32类库

C# 用户经常提出两个问题:"我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?"当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。他们没有足够的资源为所有 Win32 API 编写托管接口、加以测试并编写文档,因此只能优先处理最重要的部分。许多常用操作都有托管接口,但是还有许多完整的 Win32 部分没有托管接口。 平台调用 (P/Invoke) 是完成这一任务的最常用方法。要使用 P/Invoke,您可以编写一个描述如何调用函数的原型,然后运行时将使用此信息进行调用。另一种方法是使用 Managed Extensions to C++ 来包装函数,这部分内容将在以后的专栏中介绍。 要理解如何完成这一任务,最好的办法是通过示例。在某些示例中,我只给出了部分代码;完整的代码可以通过下载获得。…

用DataReader还是DataSet

ADO.NET提供了两个主要的类来读取数据。通过本文我们可以学习如何在两者之间进行选择。 我经常听到有人问这个问题:"在ASP.NET Web应用程序中我应该用DataReader类还是DataSet类呢?"在很多文章以及新闻组的贴子中我经常看到这样的误解,即认为DataReader(SqlDataReader或OleDbDataReader的缩写)比DataSet好。有时候我也会看到相反的说法。事实上,Microsoft创建了这两个数据存取类是因为它们都是我们所需要的。每个类都有其优点和不足,你可以根据应用环境来选择用哪一个。 本文就两者的选择问题做了很清楚的讲述,可以让你在运用ASP.NET时,在选择DataReader类或DataSet类的方面得到一些指南。在基于客户端的Windows Form应用程序环境下,这些规则可能会改变。我在做这些讲述时,假设你已经用过DataReader和DataSet类了,并对它们很熟悉。…

DedeCms V53_1_GBK增加对底层模板的修改

在DedeCms V53_1_GBK模板管理页面中,只能对默认模板目录(default)和插件模板目录(plus)中的模板进行修改,而无法对底层模板目录(system)中的模板进行修改: 在修改下载链接时,我们经常需要修改system\channel_downlinks.htm模板,所以有必要在模板管理页面中增加底层模板修改的链接,修改方法如下: 打开dede\templets\templets_default.htm,找到如下代码: 修改为: 保存,再打开模板管理页面,就可以看到底层模板链接了:

K750c访问WAP站老出错:所访问的页面出错 请选择另一链接

同一WAP站,使用nokia、motorola、Opera访问均正常,但K750c却老是出错,提示:所访问的页面出错 请选择另一链接。页面代码如下: 最终修改如下: 把页面内容放在和 之间即可,真是奇怪的问题。 ------------------------------------------------ 2010-03-24补充:当页面中使用了form、span、div标签时,也是单独在k750上测试出错。

SQL Server2000 表关系

可以在数据库关系图中的表间创建关系以显示某个表中的列如何链接到另一表中的列。 在关系数据库中,关系能防止冗余的数据。例如,如果正在设计一个数据库来跟踪有关书的信息,而每本书的信息(如书名、出版日期和出版商)都保存在一个名为 titles 的表中。同时还有一些想保存的有关出版商的信息,例如出版商的电话号码、地址和邮政编码。如果将所有这些信息都保存在 titles 表中,则对于某个出版商出版的每本书,出版商的电话号码将是重复的。 一个更好的解决方案是,单独在一个名为 publishers 的表中只保存一次出版商信息。然后在 titles 表中设置指针,以引用 publishers 表中的项。 若要确保数据同步,可以在 titles 表和 publishers 表之间强制引用完整性。引用完整性关系能确保某个表中的信息与另一个表中的信息相匹配。例如,titles 表中的每个书名必须和 publishers 表的特定出版商相关联。不能在数据库中添加数据库中不存在的出版商的书名。…