本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangyj_315/archive/2009/03/06/3962394.aspx 这几天在用ASP.NET控件做一个简单的留言本,在测试detailsview实现插入留言时,如果在插入模板的textbox中插入<script>alert(“hello”)</script>这样一段脚本时,就会报从客户端中检测到有潜在危险的 Request.Form 值。想到前面一段时间在MSDN上的看到通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入这一节的内容,所以想在代码中利用htmlencode()对输入内容进行编码以防止脚本的入侵。但是如果要对整个网站的输入框进行验证,这种做法显然是比较繁琐的。所以就在google了一下,于是就得到了下面的四种解决办法。 由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错上面的错误。 如:在网页的TextBox1中输入一些HTML代码,点提交按钮后会报错。 解决办法: 解决方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %> 解决方案二: 修改web.config文件: <configuration> <system.web> <pages validateRequest="false" /> </system.web> </configuration> 因为validateRequest默认值为true。只要设为false即可。 补充:
1 2 3 |
<system.web> <httpRuntime requestValidationMode="2.0" /> </system.web> |
解决方案三: 当然,这样只能是让界面好看一些,要想抵制注入,还得从过滤上做足功夫 然后,还是有不禁用validateRequest的方法的,如下 不禁用validateRequest=false。 正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面呢。 举例而言,处理这个异常其实只需要很简短的一小段代码就够了。在页面的Code-behind页面中加入这么一段代码: 以下是引用片段: protected void Page_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Write("请您输入合法字符串。"); Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。 } } 解决方案四: 在Global.asax文件的Application_Error()来处理。这样在整个网站中都生效。 void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Write("请您输入合法字符串。"); Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。 } }
View Details为了吸更多网友的眼球,让访问者停留,网站都会经常进行一些改版,最主要的就是要提升网站在搜索引擎中的排名,网站改版的目的也就是在原有的网站基础上更上一层楼。在网站设计改版中SEO最怕的就是现有的排名、某些关键词的排名会受到影响,那么我们应该怎样去避免这些风险呢? 一、检查之前的排名情况 通过一些流量统计或者搜索引擎查询来检查原先的相关网站排名情况,用记事本或者word记录好当前的排名情况可以根据某些特别的关键词或网页的标题来实行。把检查排名放在第一步的原因是因为在建新站时,这些页面的标题、内容、关键字密度尽量少改动,避免在新改版后排名的浮动。 二、保留原有的网页命名 在网页的结构和内容更改的基础上也要保留原来的网页,这样有利于搜索引擎根据原来的方法找到页面。也能让蜘蛛更快的再次收录原先的网页内容,保护了原有的排名及页面的PR值。对于一些不合理的页面,对搜索引擎或者设计需要来说不恰当的可以删除掉。 三、保留旧网站结构和内容 建立新站后只需要在原来的旧站页面上建立一些链接指向新的网页而不是把原来的内容马上删除掉。在网页被删的情况下需做404页面避免蜘蛛来找时找不到内容,对于那些排名或PR值很高而又不得不删的网页可以用301永久转向到新的网页。 四、Sitemaps 更新 最好建立Sitemaps,让搜索引擎知道你的网站已改变,让蜘蛛去收录新的也面,这样就可以让搜索引擎更好更快的收录你的新网站。 五、一段时间内保持原创更新 经常一些新改版的网站内容与旧版没什么差别,然而新旧的结构又不一样,所以对于搜索引擎来说是不友好的,它可能需要花费更多的时间来观察和分析,所以在新旧站之间要处理好那些链接和相关内容,避免重复。 六、后期维护 基本工作完成后,一个新网站就诞生了,所以要定期对网站的内容进行更新。为了让搜索引擎很快的收录你的网站,最好去找一些质量比较高的链接,由于刚建立的网站可能会导致一些流量的损失,这个时候可以做PPC广告来弥补目前流量的损失。 来源:http://www.maoblog.com/t/Correcting-Protection-SEO.aspx
View Details万事开头难,网站优化也是如此,很多新手站长做站都是非常的浮躁,例如今天刚建一个新的站点,恨不得明天就能够把排名推到最前面,明天不行的话就后天,后天再不行就到处的咨询,到处的提问,为什么我的网站不被百度收录、为什么我的网站没有排名。 以上均属于新手站长的“浮躁”心情,那作为新手站长该如何面对一个新站点的优化呢,首先我们要总内部结构做起,当然这里面设计到了一些网站代码,但是对于我们站长来说,搞定这些代码都是小菜一碟。 第一:网站结构 做好网站结构对于搜索引擎的收录是非常有帮助的,首先要从优化代码开始,将错误、重复的代码删除,然后进行权重的分配,例如给网站主标题加上 标签等,给主导航、次导航等各个地方添加关键词,这可以提高关键词的整体密度。 第二:网站内容 说到内容,对于新手站长来说是一件非常头疼的问题,很少新手站长能够自己写原创的,大部分都是伪原创、甚至有的更直接,直接复制、采集,这是很多新手站长失败的原因,作为站长一定要具备写作能力,所以在这里推荐各位新手站长做站的时候前期尽量要坚持原创,这样对于网站权重、网站排名、网站收录都是非常有帮助的,后期可以慢慢的进行伪原创。 第三:内部链接 所谓的内部链接,其实就是文章与文章之间的关联性,例如A文章的内容里含有B文章的关键词,通过锚文本链接的模式连接到B文章,这样就产生了一个内部链接,所以为什么一直要推荐新手站长坚持原创,因为原创你可以控制内容,从而达到文章内的关键词布局、内部链接、整体密度等。 第四:外部链接 外部链接是每个站长每天必须做的一件事,因为外部链接对于网站的排名、权重等都是影响非常大的,这块可以通过论坛签名、问答、博客来完成,一般就是在对方的站点中留下自己站点的链接即可,但是这里有一点需要注意,要注重链接的质量,而不是追求数量,同时要注意有节制的使用锚文本链接,也就是带关键词的链接,这样对于排名是非常有帮助的。 以上就是新手站长建站的最基本知识了,这里的第二、第三、第四是站长每天必须坚持做的事情,简单的来说,网站优化就是每天做重复的事情,当然了这里只谈论到网站前期优化而已,后期的优化设计到数据分析、排名分析等方面,但作为新手站长前期学的就是这些了,不断的实践、积累、总结。 来源:http://www.maoblog.com/t/Novice-Website-SEO.aspx
View Details关键词位置、密度、处理 URL中出现关键词(英文) 网页标题中出现关键词(1-3个) 关键词标签中出现关键词(1-3个) 描述标签中出现关键词(主关键词重复2次) 内容中自然出现关键词 内容第一段和最后一段出现关键词 H1,H2标签中出现关键词 导出链接锚文本中包含关键词 图片的文件名包含关键词 ALT属性中出现关键词 关键词密度6-8% 对关键词加粗或斜体 内容质量、更新频率、相关性: 原创的内容最佳,切忌被多次转载的内容 内容独立性,与其他页面至少30%互异 1000-2000字,合理分段 有规律更新,最好是每天 内容围绕页面关键词展开,与整站主题相关 具有评论功能,评论中出现关键词 导入链接和锚文本: 高PR值站点的导入链接 内容相关页面的导入链接 导入链接锚文本中包含页面关键词 锚文本存在于网页内容中 锚文本周围出现相关关键词 导入链接存在3个月以上 导入链接所在页面的导出链接少于100个 导入链接来自不同IP地址 导入链接自然增加 锚文本多样化 网站PR值下降的主要原因: 网站高质量的外部链接在短时间内大量减少 外部链接指向垃圾站点过多或者指向被谷歌惩罚的站点 网站的结构布局不合理,脉络不清晰 没有使用静态页面 被谷歌判定为买卖链接或者作弊 采取非常手段劫持了别人的PR值 网站的内容质量比较低 网站不稳定或者经常出现打不开等情况 网站正在改版 同一服务器的网站PR值不高的原因 网站不诚信链接 惩罚不尊重知识产权的行为 违反国家政策的文字大量涌现 站点内容更新频率非常缓慢 网站长期存在死链接 其他不良的因素 网站的美工,网站的性质等,其主要原因就是影响了网站的用户体验。 只有合理地设置网站的广告位,才能使网站的广告收入最大化。: 广告尺寸不是越大越好 广告内容要符合网站自身主题 广告数量并非越多越好 广告商的选择 SEO优化总结: 每个网页的标题简洁精炼,不超过30字。 最重要的关键词放在标题首位,依次类推。 每个网页核心关键词不超过3个。 网站内容简洁,信息丰厚。关键词分布其中合理,自然。假如你自己都读不懂,那就放弃。 网站导航采用文字导航。 与主题无关内容作成JS或者图片。 网站图片原创,添加alt标签,切忌讳乱加。搜索引擎能读懂图片。 网站的描述,简洁,明了,最开始和结束部分自然出现关键词。 网站联系人信息要原创,比如邮箱,电话,姓名等。 网站设计大方,美观。 与主题相关的JS,框架,做兼容优化。 网站代码简洁。 域名最好出行最核心关键词,针对除百度以外搜索引擎有效。 网站域名时间超过2年以上,最好是3年。 假如新域名,联系人信息一定要公布,切为新信息。 空间要稳定,那种经常网站打不开的网站,肯定没有排名。 友情链接不看PR,看快照,看核心关键词排名,看SITE首页是否存在。 友情链接要找外地的网站。 网站外链要丰富,新闻类的,行业类的,生活类的,公关类的,越丰厚越好。 网站外链不在数量,在质量。增加要掌握好节奏。 网站外链要出现网址,占70%,锚文本要适当。原因自己去想。 网站外链要首先提高首页权重,首页快照在7天内,核心关键词在前3页,则网站权重及格。 网站外链要出现在流行度较高的地方。 网站外链出现的地方,切忌垃圾链接,链接过多。 网站添加流量统计,大概数据要公开。 适当刷网站IP和来路,切忌网站流量来自某一个搜索引擎。 网站内容要围绕主题展开。切忌发布无关内容。 网站添加XML和HTML格式地图,有助于各大搜索引擎收录抓取。 网站按规律更新,切忌一个不更新,或者一下更新上百篇。 分布好网站内链接。核心关键词指向核心关键词页面。 网页内容中出现关键词加粗效果并不好,避免全加粗加链接。 每个页面最好出现一次H标签,此内容和网友标题一致。 网站404页面。 […]
View Detailsgoogle和百度的技术差别: 百度还认不清哪个是原创的 google蜘蛛不够百度快 google排名结果随时变化 流量、权重、权威、内容、用户体验、用户关注度等等细节的排名,已表达了SEO的算法。 重要搜索引擎的网站登录入口地址: 从SEO的角度,网站登录几大搜索引擎最佳的时间是:确定不会对已经生成的链接和内容进行大规模改动。 百度网站登录入口 Google网站登录入口 Yahoo网站登录入口 Bing网站登录入口 Alexa网站登录入口 搜狗网站收录提交入口 Soso网站收录提交入口 有道搜索网站登录入口 做seo技术要善于结合多个关键字工具组合: 谷歌关键字工具地址:https://adwords.google.cn/select/KeywordToolExternal 谷歌趋势网址:http://www.google.cn/trends 百度指数:http://index.baidu.com/ 百度推广工具网址:http://www2.baidu.com/ 外链,域名,关键词,锚文本基本上就已经占据了排名的主要因素。 网站内容可靠性 权威性 唯一性 完整性 (丰富) 来源:http://www.maoblog.com/t/SEO-Google-Baidu.aspx
View DetailsC#的String.Format举例2006-12-12 16:05stringstr1 =string.Format("{0:N1}",56789); //result: 56,789.0stringstr2 =string.Format("{0:N2}",56789); //result: 56,789.00stringstr3 =string.Format("{0:N3}",56789); //result: 56,789.000stringstr8 =string.Format("{0:F1}",56789); //result: 56789.0stringstr9 =string.Format("{0:F2}",56789); //result: 56789.00stringstr11 =(56789 / 100.0).ToString("#.##"); //result: 567.89stringstr12 =(56789 / 100).ToString("#.##"); //result: 567 C 或 c货币Console.Write("{0:C}", 2.5); //$2.50Console.Write("{0:C}", -2.5); //($2.50) D 或 d十进制数Console.Write("{0:D5}", 25); //00025 E 或 e科学型Console.Write("{0:E}", 250000); //2.500000E+005 F 或 f固定点Console.Write("{0:F2}", 25); //25.00Console.Write("{0:F0}", 25); //25 G 或 g常规Console.Write("{0:G}", 2.5); //2.5 N 或 n数字Console.Write("{0:N}", 2500000); //2,500,000.00 X 或 x十六进制Console.Write("{0:X}", 250); /******************************************************************************/ASP.NET设置数据格式与String.Format使用总结(引) {0:d} YY-MM-DD {0:p} 百分比00.00% {0:N2} 12.68 {0:N0} 13 {0:c2} $12.68 {0:d} 3/23/2003 {0:T} 12:00:00 AM {0:男;;女} DataGrid-数据格式设置表达式 数据格式设置表达式 .NET Framework 格式设置表达式,它在数据显示在列中之前先应用于数据。此表达式由可选静态文本和用以下格式表示的格式说明符组成: {0:format […]
View Detailsusing System; namespace combinaton{ /// <summary> /// Summary description for Class1. /// </summary> class Class1 { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main(string[] args) { // // TODO: Add code to start application here // Console.WriteLine("please input n :"); long n=long.Parse(Console.ReadLine()); Console.WriteLine("please input r :"); long r=long.Parse(Console.ReadLine()); combinaton(n,r); Console.ReadLine(); } static void combinaton(long n,long r) { if(n<r) { long temp; temp=n; n=r; r=temp; } long[] s=new long[n]; long count = combi(n,r); Console.WriteLine("there are total:{0}count:",count); for(long i=0;i<r;i++) { s[i]=i+1; Console.Write("{0}",s[i]); } Console.WriteLine(); for(long i=1;i<count;i++) { […]
View Details下列引导或系统启动驱动程序无法加载: bdfsfltrEfiMonFipsqutmdserv 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
View Details转自:http://xdenggao.blog.163.com/blog/static/19204510201022024848561/ 改成正式版操作步骤:控制面版>添加或删除程序>卸载vs.net2008>出现卸载界面>点击Next>输入下面CD-key ->点击升级->出现成功画面即可完美将试用版升级成为正式版。 CDKEY:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T 。 在Windows 7下,VS2008试用版无法正常升级到正式版。原因是维护页面的注册码输入框和升级按钮被隐藏。通过本补丁,可让注册码输入框和升级按钮恢复正常显示。 补丁下载地址 ———————————————————— 关键函数如下: void CREGVS2008Dlg::OnBnClickedButtonAutoreg(){ // 要查找的VS2008版本列表 const TCHAR* szCaption[] = { TEXT("Microsoft Visual Studio 2008 安装程序 – 维护页"), // 简体中文版 TEXT("Microsoft Visual Studio 2008 安裝程式 – 維護頁"), // 繁体中文版 TEXT("Microsoft Visual Studio 2008 Setup – Maintenance Page") // 英文版 }; HWND hWnd; UINT i, uNum; // 定位“Microsoft Visual Studio 2008 安装程序 – 维护页”窗口 uNum = sizeof(szCaption) / sizeof(const TCHAR*); for( i = 0; i < uNum; i++ ) { hWnd = ::FindWindow( NULL, szCaption[i] ); if( hWnd != NULL ) { // 窗口发现 break; } } if( i == uNum ) { // 没有找到VS2008维护页窗口 MessageBox( TEXT("没有发现“Microsoft Visual Studio 2008 安装程序 – 维护页”窗口!") ); return; } // 进入第1层子窗口 hWnd […]
View Details转自:http://cyask.com/question.php?qid=563一.软件介绍(apache lighttpd nginx)1. lighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。Fastcgi的优点在于:· 从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑. · 从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮, · 从性能上看, fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与(注1) · 从扩展性上讲, fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python…) 2.apacheapache是世界排名第一的web服务器, 根据netcraft(www.netsraft.co.uk)所作的调查,世界上百分之五十以上的web服务器在使用apache. 1995年4月, 最早的apache(0.6.2版)由apache group公布发行. apache group 是一个完全通过internet进行运作的非盈利机构, 由它来决定apache web服务器的标准发行版中应该包含哪些内容. 准许任何人修改隐错, 提供新的特征和将它移植到新的平台上, 以及其它的工作. 当新的代码被提交给apache group时, 该团体审核它的具体内容, 进行测试, 如果认为满意, 该代码就会被集成到apache的主要发行版中. apache 的特性: 1) 几乎可以运行在所有的计算机平台上. 2) 支持最新的http/1.1协议 3) 简单而且强有力的基于文件的配置(httpd.conf). 4) 支持通用网关接口(cgi) 5) 支持虚拟主机. 6) 支持http认证. 7) 集成perl. 8) 集成的代理服务器 9) 可以通过web浏览器监视服务器的状态, 可以自定义日志. 10) 支持服务器端包含命令(ssi). 11) 支持安全socket层(ssl). 12) 具有用户会话过程的跟踪能力. 13) 支持fastcgi 14) 支持java servlets3.nginxNginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。其拥有匹配 Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpd的mod_proxy也有一些问题并且很久没有更新。但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用FastCGI方式来执行PHP程序。nginx做为HTTP服务器,有以下几项基本特性:处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.无缓存的反向代理加速,简单的负载均衡和容错.FastCGI,简单的负载均衡和容错.模块化的结构。包括gzipping, byte ranges, […]
View Details