一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

关于System.Security.SecurityException: That assembly does not allow partially trusted callers.问题的解决!

刚开始学习asp.net,常常遇到一些奇怪的问题,最近做asp.net的毕业设计,把其中的系统做好后在本机上能够正常运行,但是上传到服务器中就出现了下列问题提示: System.Security.SecurityException: That assembly does not allow partially trusted callers., 从百度查了很多资料,回答的不是不沾边,就是凭自己感觉答复。从google搜了下,前几页几乎全是英文页面,看的头大,感觉有的解释有那个道理。最后综合想了下终于明白了, 1)服务器端:将客户端的访问权限设置为full trusted callers,可以正常使用服务器资源,但是咱们对服务器不能要求有什么改动,要求了提供商也是没反应 2)自身系统:我发现系统出现这个问题的地方都是因为用到了分页控件AspNetPager.dll,于是,想到有网友提议: AssemblyInfo.cs文件中加如下内容 using System.Security; [assembly: AllowPartiallyTrustedCallers()] 我想,是啊,突然间又想这个分页控件的新版本已经把这个问题解决了吧,这样我就不必自己修改AssemblyInfo.cs文件再重新编译生成AspNetPager.dll了。从网上又下了个AspNetPagerV7.02的,然后覆盖网站空间中原来那个,再打开自己的网页,发现问题解决了! —————————————————————————————————————————————————————————————— 以上信息转自:http://blog.csdn.net/gzq521/archive/2009/05/13/4178093.aspx 经本人验证 AssemblyInfo.cs文件 的方法行不通。还是下载了个最新的AspNetPager,问题解决,谢谢gzq521。

龙生   29 Sep 2010
View Details

Warning: date_default_timezone_get(): It is not safe to rely on the system’s

今天在运行PHP应用时,报了上面的警告, 出现这个可能是以下原因1.如果装xampp,可能是xampp没装好或者有问题,需要重装2.php 5.3也可能出这个问题,需要修改php.ini文件 找到date.timezone将它的改为 date.timezone=utc 将前面的分号去掉,重启服务器或者在index.php中加上 date_default_timezone_set('UTC'); 3.可以将index.php里面的error_reporting(7);改为error_reporting(0);即可避免它们的出现。

龙生   06 Sep 2010
View Details

关于asp.net 循环输出多个随机数相同时的解决方法

关于asp.net 循环输出多个随机数相同时的解决方法 我们在使用Random生成随机数时经常会出现一种误区,下面我们就此介绍一下: 其中用于产生随机数的函数原型为:Rnd(x),该函数用以产生一个介于0~1之间的单精度随机数。x是产生随机数的种子。如果要从(min, max)这个范围内随机抽取一个数,此时需要用到公式:随机数 = (max – min) * Rnd(x) + min。一般的生成随机数方法: Random ran=new Random(); int   temp=ran.Next(100);生成100以内的一个随机数;这是没有什么问题的 但是我们经常用到for循环生成多个随机数,这时候可能就会出现问题,如果你对随机数原理不是很了解的话,很可能会出现一个误区如: for(int i=0;i<100;i++) { Random ran=new Random(); int   temp=ran.Next(100); Responsed.Write(temp.ToString()); }   这时候你会发现一个问题:生成的所有的随机数都是一样的,不管你ran.Next的值怎么设置都是一样的,为是为什么呢,这就是我们要说的一种误区,其实正确的写法是这样的: Random ran=new Random();   for(int i=0;i<100;i++) { int   temp=ran.Next(100); Responsed.Write(temp.ToString()); }   看看是不是得到了自己想要的东西。呵呵 转自:http://hi.baidu.com/arqq1230/blog/item/770fb1fab1b7ed9f58ee901c.html

龙生   31 Aug 2010
View Details

从客户端(…)中检测到有潜在危险的Request.Form 值的处理办法

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangyj_315/archive/2009/03/06/3962394.aspx 这几天在用ASP.NET控件做一个简单的留言本,在测试detailsview实现插入留言时,如果在插入模板的textbox中插入<script>alert(&ldquo;hello&rdquo;)</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即可。 补充:  

  解决方案三: 当然,这样只能是让界面好看一些,要想抵制注入,还得从过滤上做足功夫 然后,还是有不禁用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()。 } }

龙生   20 Aug 2010
View Details

网站改版后保护已有seo优化成果不受影响

      为了吸更多网友的眼球,让访问者停留,网站都会经常进行一些改版,最主要的就是要提升网站在搜索引擎中的排名,网站改版的目的也就是在原有的网站基础上更上一层楼。在网站设计改版中SEO最怕的就是现有的排名、某些关键词的排名会受到影响,那么我们应该怎样去避免这些风险呢? 一、检查之前的排名情况      通过一些流量统计或者搜索引擎查询来检查原先的相关网站排名情况,用记事本或者word记录好当前的排名情况可以根据某些特别的关键词或网页的标题来实行。把检查排名放在第一步的原因是因为在建新站时,这些页面的标题、内容、关键字密度尽量少改动,避免在新改版后排名的浮动。 二、保留原有的网页命名      在网页的结构和内容更改的基础上也要保留原来的网页,这样有利于搜索引擎根据原来的方法找到页面。也能让蜘蛛更快的再次收录原先的网页内容,保护了原有的排名及页面的PR值。对于一些不合理的页面,对搜索引擎或者设计需要来说不恰当的可以删除掉。 三、保留旧网站结构和内容      建立新站后只需要在原来的旧站页面上建立一些链接指向新的网页而不是把原来的内容马上删除掉。在网页被删的情况下需做404页面避免蜘蛛来找时找不到内容,对于那些排名或PR值很高而又不得不删的网页可以用301永久转向到新的网页。 四、Sitemaps 更新      最好建立Sitemaps,让搜索引擎知道你的网站已改变,让蜘蛛去收录新的也面,这样就可以让搜索引擎更好更快的收录你的新网站。 五、一段时间内保持原创更新      经常一些新改版的网站内容与旧版没什么差别,然而新旧的结构又不一样,所以对于搜索引擎来说是不友好的,它可能需要花费更多的时间来观察和分析,所以在新旧站之间要处理好那些链接和相关内容,避免重复。 六、后期维护      基本工作完成后,一个新网站就诞生了,所以要定期对网站的内容进行更新。为了让搜索引擎很快的收录你的网站,最好去找一些质量比较高的链接,由于刚建立的网站可能会导致一些流量的损失,这个时候可以做PPC广告来弥补目前流量的损失。 来源:http://www.maoblog.com/t/Correcting-Protection-SEO.aspx

龙生   07 Aug 2010
View Details

新手站长简单SEO优化自己的网站

      万事开头难,网站优化也是如此,很多新手站长做站都是非常的浮躁,例如今天刚建一个新的站点,恨不得明天就能够把排名推到最前面,明天不行的话就后天,后天再不行就到处的咨询,到处的提问,为什么我的网站不被百度收录、为什么我的网站没有排名。      以上均属于新手站长的“浮躁”心情,那作为新手站长该如何面对一个新站点的优化呢,首先我们要总内部结构做起,当然这里面设计到了一些网站代码,但是对于我们站长来说,搞定这些代码都是小菜一碟。  第一:网站结构       做好网站结构对于搜索引擎的收录是非常有帮助的,首先要从优化代码开始,将错误、重复的代码删除,然后进行权重的分配,例如给网站主标题加上      标签等,给主导航、次导航等各个地方添加关键词,这可以提高关键词的整体密度。  第二:网站内容       说到内容,对于新手站长来说是一件非常头疼的问题,很少新手站长能够自己写原创的,大部分都是伪原创、甚至有的更直接,直接复制、采集,这是很多新手站长失败的原因,作为站长一定要具备写作能力,所以在这里推荐各位新手站长做站的时候前期尽量要坚持原创,这样对于网站权重、网站排名、网站收录都是非常有帮助的,后期可以慢慢的进行伪原创。  第三:内部链接       所谓的内部链接,其实就是文章与文章之间的关联性,例如A文章的内容里含有B文章的关键词,通过锚文本链接的模式连接到B文章,这样就产生了一个内部链接,所以为什么一直要推荐新手站长坚持原创,因为原创你可以控制内容,从而达到文章内的关键词布局、内部链接、整体密度等。  第四:外部链接       外部链接是每个站长每天必须做的一件事,因为外部链接对于网站的排名、权重等都是影响非常大的,这块可以通过论坛签名、问答、博客来完成,一般就是在对方的站点中留下自己站点的链接即可,但是这里有一点需要注意,要注重链接的质量,而不是追求数量,同时要注意有节制的使用锚文本链接,也就是带关键词的链接,这样对于排名是非常有帮助的。      以上就是新手站长建站的最基本知识了,这里的第二、第三、第四是站长每天必须坚持做的事情,简单的来说,网站优化就是每天做重复的事情,当然了这里只谈论到网站前期优化而已,后期的优化设计到数据分析、排名分析等方面,但作为新手站长前期学的就是这些了,不断的实践、积累、总结。 来源:http://www.maoblog.com/t/Novice-Website-SEO.aspx

龙生   07 Aug 2010
View Details

百度 SEO优化 Google SEO优化(二)

关键词位置、密度、处理 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页面。 […]

龙生   07 Aug 2010
View Details

百度SEO优化 GoogleSEO优化

google和百度的技术差别: 百度还认不清哪个是原创的 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

龙生   07 Aug 2010
View Details

asp.net中string.Format的一些用法

C#的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 […]

龙生   07 Aug 2010
View Details