博文

目前显示的是 十月, 2006的博文

技巧和诀窍:防范SQL注入攻击

【原文地址】 Tip/Trick: Guard Against SQL Injection Attacks 【原文发表日期】 Saturday, September 30, 2006 9:11 AM SQL注入攻击是非常令人讨厌的安全漏洞,是所有的web开发人员,不管是什么平台,技术,还是数据层,需要确信他们理解和防止的东西。不幸的是,开发人员往往不集中花点时间在这上面,以至他们的应用,更糟糕的是,他们的客户极其容易受到攻击。 Michael Sutton 最近发表了 一篇非常发人深省的帖子 ,讲述在公共网上这问题是多么地普遍。他用Google的Search API建了一个C#的客户端程序,寻找那些易受SQL 注入攻击的网站。其步骤很简单: 寻找那些带查询字符串的网站(例如,查询那些在URL里带有 "id=" 的URL) 给这些确定为动态的网站发送一个请求,改变其中的id=语句,带一个额外的单引号,来试图取消其中的SQL语句(例如,如 id=6' ) 分析返回的回复,在其中查找象“SQL” 和“query”这样的词,这往往表示应用返回了详细的错误消息(这本身也是很糟糕的) 检查错误消息是否表示发送到SQL服务器的参数没有被正确加码(encoded),如果如此,那么表示可对该网站进行SQL注入攻击 对通过Google搜寻找到的1000个网站的随机取样测试,他检测到其中的11.3%有易受SQL注入攻击的可能。这非常,非常地可怕。这意味着黑客可以远程利用那些应用里的数据,获取任何没有hashed或加密的密码或信用卡数据,甚至有以管理员身份登陆进这些应用的可能。这不仅对开发网站的开发人员来说很糟糕,而且对使用网站的消费者或用户来说更糟糕,因为他们给网站提供了数据,想着网站是安全的呢。 那么SQL注入攻击到底是什么玩意? 有几种情形使得SQL注入攻击成为可能。最常见的原因是,你动态地构造了SQL语句,却没有使用正确地加了码(encoded)的参数。譬如,考虑这个SQL查询的编码,其目的是根据由查询字符串提供的社会保险号码(social security number)来查询作者(Authors): Dim SSN as StringDim SqlQuery as StringSSN = Request.QueryString("SSN&q

25种方式给网站添加优质内容

我们早已知道,网站的质量在Google中起关键作用。高级Google工程师Matt Cutts 在他的blog中多次提到 ,“优质”对于Google至关重要,无论是内容还是连接。 不过,创建内容和连接并不一定要经历痛苦的过程。网站搭建者们开始趋于从某些角度考虑如何组织内容。所以,让我们放开创新的思维,来想一想所有这些给网站添加优质内容的方法吧。 请先记住以下几点: 你只是被你自己的想法和你的网站限制住了。尝试着往完全不同的方向探索一下。 你的网站内容应该是写给你的顾客看,而不是给你。网站内容也不是写给搜索引擎的,它们不是你的目标群体。 把你的网站想象成一幅完整的画,一个有生命的会呼吸的整体。它会持续成长,而不是停滞不前。 现在我们进入正题了:面向目标群体的优质内容。 1,事件日历。对于房地产网站,它可用于展示新开房屋信息;对于在线书店,可用于介绍新书签名会、作者见面会等;对于收藏类网站,可用于介绍最近的聚会活动等……确保访客能添加他们自己的事件到日历中去。 2,地图。考虑给房地产网站、捕猎/捕鱼网站、露营网站、酒店或者其他任何户外休闲网站建一个地图。在地图的底部添加内容来描述该地图并说明它的意图。 3,售前/售后经历。如果你的顾客能就你提供的产品或服务写一小段文字,或者探讨你的产品/服务带来的好处,就再好不过了。你可以把它们作为成功的证明放在网站上。 4,来自顾客的图片。你可以为已有顾客设立一个特别的地方,让他们能够在你的网站贴出自己的图片和日志等等。这个方法比较适合度假网站、休闲网站、婚姻网站、宝宝网站、摄影工作室等等。想一想,在Halloween网站该怎么做?花卉网站呢? 5,在线填色画。发挥你的想象力。如果你将一些度假物品做成填色画,孩子们就可以在旅程开始前给它们填完色然后 贴到他们在网上专有的版块。旅程结束后,他们的父母又可以贴上度假的图片和日志。这样,一个属于他们的度假纪念“网站”(其实完全是建立在你的网站上)就 成为了你这个度假网站的招牌。他们会怎么使用这个“网站”呢?他们会告诉朋友、爷爷奶奶、叔叔婶婶等等。他们会在其他地方给这个“网站”做连接。你可以把 这个招牌作为独特的核心卖点来跟对手竞争。你将会获得以往顾客过来的连接和未来顾客的浏览。你会赢得优势。如果网站可以作孩子们的文章,你可以想很多增添 填色画的方法,或者类似的针对孩子的创造性活动。 6,bl