首页
学习
活动
专区
圈层
工具
发布

请慎用ASP.Net的validateRequest=”false”属性

mod=viewthread&tid=74 在客户端的文体框里输入“例如”等字符的时候为出现这样的错误 序安全的尝试,如跨站点的脚本攻击。...这是没有设置这个属性这是默认的,当我们改为false的时候这样的错误就不会出现了,但是我们不能只是这样改,这样虽说是没有错了, 但是你有没有想过程序也就不安全了啊...from the client”的时候,惊奇的发现大部分人给出的解决方案竟然是在ASP.Net页面描述中通过设置 validateRequest=false 来禁用这个特性,而不去关心那个程序员的网站是否真的不需要这个特性...看得我这叫一个胆战心惊。安全意识应该时时刻刻在每一个程序员的心里,不管你对安全的概念了解多少,一个主动的意识在脑子里,你的站点就会安全很多。   ...对于希望很好的处理这个错误信息,而不使用默认ASP.Net异常报错信息的程序员们,你们不要禁用validateRequest=false。

74510

ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

一、前言   在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志、错误日志,可以让我们对于系统的运行情况做到很好的掌控。...NLog 和 MongoDB   在 ASP.NET Core 中,巨硬为我们提供了一个 ILogger 接口,通过 ILogger 接口,我们可以很方便的将日志信息输出到控制台中,不过,在控制台中查看日志信息会显得不太方便...通常,我们会将日志信息记录到 txt or log 文件中,虽然你可以通过修改日志布局让日志信息具有良好的可读性,不过在信息多的情况下查阅时还是会显得不太方便。...对于这个服务,你同样可以在计算机管理中对这个服务进行管理。   在默认情况下,当我们安装好 MongoDB 后是不允许远程访问以及不存在任何的用户权限的。而这些,在我们正式使用中都是需要考虑的。   ...在我们使用这些这些第三方开源框架时,可能会遇到很多问题,当你无法解决的时候,项目的 Issue 是个好地方,多搜搜,很大可能你就会得到解决方案。

2.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧

    在本篇文章中,我将列举一些我在使用 ASP.NET Core Web API 构建接口服务时使用到的一些小技巧,因才疏学浅,可能会存在不对的地方,欢迎指出。   ...如果你有看过构建可读性更高的 ASP.NET Core 路由这篇文章,你会发现其实我们最终实现的是 hyphen(-) 格式的 Url 地址,那么这里我们为什么不进行后续的修改了呢?   ...在实现具有版本控制的接口前,首先我们需要通过 Nuget 添加下面的两个 dll,因为我是在 Ingos.Api.Core 这个类库中进行配置的,所以我安装到了这个类库下,你需要根据你自己的情况选择最终是安装到...因为我们在之前设置构建的 API 路由时包含了版本信息,所以在最终生成的 Swagger 文档中进行测试时,我们都需要在参数列表中添加 API 版本这个参数。...5、构建符合 Restful 风格的接口   在没有采用 Restful 风格来构建接口返回值时,我们可能会习惯于在接口返回的信息中添加一个接口是否请求成功的标识,就像下面代码中示例的这种返回形式。

    1.6K20

    或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧

    在本篇文章中,我将列举一些我在使用 ASP.NET Core Web API 构建接口服务时使用到的一些小技巧,因才疏学浅,可能会存在不对的地方,欢迎指出。   ...如果你有看过构建可读性更高的 ASP.NET Core 路由这篇文章,你会发现其实我们最终实现的是 hyphen(-) 格式的 Url 地址,那么这里我们为什么不进行后续的修改了呢?   ...在实现具有版本控制的接口前,首先我们需要通过 Nuget 添加下面的两个 dll,因为我是在 Ingos.Api.Core 这个类库中进行配置的,所以我安装到了这个类库下,你需要根据你自己的情况选择最终是安装到...因为我们在之前设置构建的 API 路由时包含了版本信息,所以在最终生成的 Swagger 文档中进行测试时,我们都需要在参数列表中添加 API 版本这个参数。...5、构建符合 Restful 风格的接口   在没有采用 Restful 风格来构建接口返回值时,我们可能会习惯于在接口返回的信息中添加一个接口是否请求成功的标识,就像下面代码中示例的这种返回形式。

    1.8K40

    ASP.NET Core应用的错误处理:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

    ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式》实例演示中,我们并不曾使用过DeveloperExceptionPageOptions这个对象,对于定义在这个类型中的这两个属性,我想很多人都不知道它们究竟可以用作哪方面的配置...:我们编写一个ASP.NET Core应用应该是先编译成程序集,然后再部署并启动执行,为什么运行过程中还会出现“编译异常”呢?...,由于视图文件中使用了一个不曾不定义的类型,动态编译会失败,响应的错误信息会以如图7所示的形式出现在浏览器上。...动态编译过程中抛出的异常类型一般会实现ICompilationException接口。...通过ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式》演示的实例我们已经知道,DeveloperExceptionPageMiddleware中间件在处理运行时异常时不仅仅会将异常的详细信息显示在错误页面中

    1.7K90

    译 | .NET Core 3.0 对诊断的改进

    为什么我的应用程序有异常行为? 虽然指标有助于识别异常行为的发生,但它们对出错的原因几乎无法了解。要回答应用程序为何出现异常行为的问题,您需要通过跟踪(traces)收集其他信息。...当我们仍在研究控制器协议时,dotnet-trace实现了此协议的预览版本。...为什么我的应用程序会爆? 在某些情况下,仅通过跟踪进程就无法确定导致异常行为的原因。如果进程崩溃或可能需要更多信息(如访问整个流程堆)的情况,则进程转储可能更适合分析。...传统上,您依靠操作系统在应用程序崩溃(例如Windows 错误报告)时捕获转储,或者使用 procdump 等工具在满足某些触发条件时捕获转储。...Linux 上,可以通过运行以下命令加载生成的转储来分析生成的转储: dotnet dump analyze 在下面的示例中,我尝试通过遍历堆来确定已崩溃转储ASP.NET Core

    2.3K30

    IIS7报500.23错误的原因分析及解决方法

    今天公司终端上有一个功能打开异常,报500错误,我用Fiddler找到链接,然后在IE里打开,报500.23错误:检测到在集成的托管管道模式下不适用的ASP.NET设置。...HTTP 错误 500.23 – Internal Server Error   检测到在集成的托管管道模式下不适用的 ASP.NET 设置。 为什么会出现以上错误?   ...如图:   用了IIS7.x,但实际只发挥了6的功能,另外,在一些ASP.NET MVC程序中的效果也不好,所以,我们尝试以下解决方法: 第二种方法、修改web.config配置文件:   注: web.config...IIS7中, 在IIS管理器中的advanced settings中, General里的ID就是Site ID, 然后你需要通过这个ID来定位LogFiles文件夹中哪一个文件夹属于你要查看的站点....如 果要兼顾IIS6及IIS7.可在web.config中同时保留httpHandlers(for IIS6)及handlers(for IIS7)里的相同定义,但记得要加上,不然IIS7会因为定义重覆出现而发生错误

    1.6K40

    ASP.NET Core 中的管道机制

    前言 在开始之前,我们需要明确的一个概念是,在 Web 程序中,用户的每次请求流程都是线性的,放在 ASP.NET Core 程序中,都会对应一个 请求管道(request pipeline),在这个请求管道中...下面,我们尝试着来一步步解析 ASP.NET Core 中的管道机制。...理论解释 首先,我们来看一下官方的图例解释: 从上图中,我们不难看出,当用户发出一起请求后,应用程序都会为其创建一个请求管道,在这个请求管道中,每一个中间件都会按顺序进行处理(可能会执行,也可能不会被执行...//127.0.0.1:5000/foo 时,对应的请求路由输出如下: 当我们尝试查看对应的请求页面,发现对应的页面却是 HTTP ERROR 404 ,通过上述输出我们可以找到原因,是由于最后一个注册的终端路由未能成功调用...通过查阅源码,我们可以看出,我们上述自定义的中间件是符合官方的实现标准的。同样的,当我们以后使用某个内置中间件时,如果对其具体实现感兴趣,可以通过这种方式来进行查看。

    1.6K10

    通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行

    在多年的 ASP.NET 项目咨询工作中,我发现某些错误特别容易导致缺陷不断发生。其中某些错误会影响性能。其他错误会抑制可伸缩性。有些错误还会使开发团队耗费宝贵的时间来跟踪错误和意外的行为。...我曾经亲眼看到该问题在 ASP.NET 生产服务器中出现过两次,这两次都是通过关闭输出缓冲来解决的。后来我了解到有一个比禁用输出缓存更好的解决方案。以下是我第一次遇到该问题时的情况。...当请求排队时,性能会急剧下降。如果队列已满,则 ASP.NET 会使随后的请求失败并出现 HTTP 503 错误。这种情况不是我们希望在 Web 生产服务器的生产应用程序上所乐见的。...I/O 绑定而不是计算机绑定且需要很长时间执行的任何页面很有可能成为异步页面。 当我将关于异步页面的信息告知开发人员时,他们经常回答“那真是太棒了,但是我的应用程序中并不需要它们。”...在 ASP.NET 应用程序中启用 Windows 身份验证时,ASP.NET 会自动为请求的每个 .aspx 页面检查 ACL 并拒绝没有读取文件权限的调用者的请求。

    4.9K80

    ASP.NET Core 中的管道机制

    前言 在开始之前,我们需要明确的一个概念是,在 Web 程序中,用户的每次请求流程都是线性的,放在 ASP.NET Core 程序中,都会对应一个 请求管道(request pipeline),在这个请求管道中...下面,我们尝试着来一步步解析 ASP.NET Core 中的管道机制。...理论解释 首先,我们来看一下官方的图例解释: 从上图中,我们不难看出,当用户发出一起请求后,应用程序都会为其创建一个请求管道,在这个请求管道中,每一个中间件都会按顺序进行处理(可能会执行,也可能不会被执行...//127.0.0.1:5000/foo 时,对应的请求路由输出如下: 当我们尝试查看对应的请求页面,发现对应的页面却是 HTTP ERROR 404 ,通过上述输出我们可以找到原因,是由于最后一个注册的终端路由未能成功调用...通过查阅源码,我们可以看出,我们上述自定义的中间件是符合官方的实现标准的。同样的,当我们以后使用某个内置中间件时,如果对其具体实现感兴趣,可以通过这种方式来进行查看。

    1.5K10

    LocalDB 在 ASP.NET 程序中找不到数据库

    LocalDB 在 ASP.NET 程序中找不到数据库:有时候错误信息是:无法找到数据库,请确认数据库名称是否正确;而有时候会变成:Cannot open database  requested by...我出现这个问题的情况特别诡异,而这是我第一次接触 SqlServer,对其不大了解,导致了我花了很多时间才解决了这个问题。...首先,我在本机跑的时候是完全没问题的,可是当我部署到服务器上跑就出现了找不到数据库的问题了。...在这里就不截图了,不方便,233333 问题解决后,我突然恍然大悟,为什么控制台程序能跑得很顺利,而 ASP.NET 程序却报错?...因为控制台程序不需要去设置程序的身份,默认使用登录系统的账户,而 ASP.NET 是托管在 IIS 中的,有涉及到身份验证,默认值为 ApplicationPoolIdentify,不懂这是什么,可是它导致了错误

    3.7K80

    理解Session State模式+ASP.NET SESSION丢失FAQ

    这个问题在KB324479中有描述,不幸的是这份文档中的描述和原因部分是错误的。不过已经有一个QFE fix对它作了修复,这个fix将包含在1.0 sp3中。这个问题在1.1中已经修复了。...Q:我正在写一个HttpHandler,为什么session stae不工作? Q: 我正在使用web farm,并且每当我重定向到其他服务器时,session state就会丢失?...Q: 我该如何检测一个session过期,然后重定向到另一个页面 Q: 在Session_End中,我尝试使用SQL做一些清理工作,但是失败了,请问为什么?...中,我尝试使用SQL做一些清理工作,但是失败了,请问为什么?...我们期待在v2.0中能够修复这个错误。 Q: 在SQLServer模式下,我可以把session state保存在除tempdb之外的数据库中吗? A: 是的。见KB311209。

    2.2K20

    ASP.NET Core 实战:构建带有版本控制的 API 接口

    在重新生成项目的过程中,你会发现,错误列表会显示很多警告信息,提示我们一些方法没有添加 XML 注释。...2、带有版本控制的 API 接口实现   在请求的 API Url 中标明版本号,我不知道你第一时间看到这个实现方式,会想到什么,对于我来说,直接在路由信息中添加版本号不就可以了。。。...不同于 ASP.NET 中的 Area ,当我们在 ASP.NET Core 创建好一个 Area 之后,脚手架生成的文件中不再有 XXXAreaRegistration(XXX 为 Area 的名称)...如果你有自己尝试的话,就会发现,当我们创建好一个 v1 的 Area 后,这个请求的地址并没有按照我们的想法会体现在路由信息中,我们最后还是需要在 Route 中手动指明 API 版本。...通过 Swagger 自带的 API 测试工具测试下我们的接口,原来这里请求的 Url 中已经包含了我们定义的版本信息,当我们指定错误的版本信息时,工具也会告诉我们这个版本的接口不存在。 ?

    1.8K30

    Http请求处理流程

    尽管我很推崇 悉江华 先生的《圣殿祭祀的Asp.Net开发详解》一书,但当我翻看了一下其对角色(Role) 和 用户(Member)的讲解时,我决定跳过去直接读后面的章节。...实际上相当于告诉HTTP.SYS哪些URL是可以访问的,哪些是不可以访问的。举个简单的例子:为什么你访问不存在的文件会出现 404 错误呢?就是在这一步确定的。...这部分的内容相关性比较强,为了让大家好理解,我最后还是决定把 ISAPI 放到前面了,可能全系列完成的时候会再调整吧。...然后,我提出了部分程序员存在的一个问题:在一个比较高的层次上学习和使用Asp.Net。...随后,我以一个访问我个人空间首页的例子,引出了本文主要讲述的三个内容: Http请求刚刚到达时IIS时,IIS 所做的工作。 Http请求的宿主环境。 Http管道。

    1.7K20

    IIS发布ASP.NET应用常见错误及解决办法

    如果不是第一种原因,那么就有可能是这个原因,需要查看配置文件内容,看看是否存在问题。如果需要生成一个新的配置文件,可以先删除旧配置,然后在IIS中随便新建一点配置,再删除它们。...IIS没有安装相关功能,导致无法读取特定的配置文件。当我向IIS发布ASP.NET Core程序的时候,同样出现了这个错误。后来我安装了相应的工具,网站就可以正常访问了。...权限错误 如果错误信息类似下面这样,说明IIS没有访问文件夹的权限。向文件夹增加IUSR权限即可。 “/”应用程序中的服务器错误。 访问被拒绝。 说明: 访问服务此请求所需的资源时出错。...找到这个用户组之后点击确定。 由于IIS需要适当的权限修改文件夹中的配置文件,所以在权限对话框中为IIS_IUSRS设置允许完全控制。然后一路确定即可。...添加IUSR权限 解决方法类似上面,只不过这次添加的用户为IUSR。 安装 如果向IIS发布ASP.NET Core应用程序,可能出现无法读取配置文件的错误。

    5K50

    enableEventValidation 回发或回调参数无效 的解决办法

    当EnableEventValidation 属性设置为 true 时,ASP.NET 仅允许在回发请求或回调期间可由控件引发的事件。...那Form 嵌套会不会引起本文这个错误呢?我试了几次都没有出现本文的错误。 但如果Form 没加载完毕的时候提交Form则会出现本文的错误,不过这与Form 嵌套无关。...第二种下拉菜单,ajax应用中包含下拉列表框(DropDownList)是出现这个错误频率最高的Case了,那为什么会这样呢?是否像网上所说的那样呢?...当提交的时候本文的错误就出现了,那提交的时候做了什么事出现了这个错误呢?...EVENTVALIDATION” value=”/wEWBQKGg9abDQKd9sHMBgKc9s……..” /> 当我们选择省市的DropDownList 并提交时,在 DropDownList 的

    3.2K10

    php dropdownlist,遇到dropdownlist

    使用下面这些代码有可能出现这个报错: DropDownList1.Items.Find… 文章 m2land 2008-06-28 605浏览量 ASP.NET Dropdownlist 错误 “Cannot...广告 Asp.net中DropDownlist中无法触发后台事件解决方案 上午在整理测试页面时,涉及到三级联动的效果功能,使用到服务器端 控件来设定效果,在检查业务逻辑无误的情况下 总是在页面提示一个运行时的页面错误...浏览量 解决dropdownlist覆盖div问题 问题的出现 当你使用一个div在一些控件所在位置之上显示一些帮助信息时,你也许会遇到控件覆盖div帮助信息的问题。...Dro… 文章 m2land 2008-11-18 649浏览量 解决dropdownlist覆盖div问题 问题的出现 当你使用一个div在一些控件所在位置之上显示一些帮助信息时,你也许会遇到控件覆盖...但是出现了一个错误……在我的Blog中记录一下,方便大家参考。

    4.3K10

    如何成为一个成功的软件工程师

    不要害怕失败,失败是你最好的老师。我们都曾犯过一些导致我们失败的错误,但更重要的是要从错误中学习。如果你这样做了,那么也许你的下一次尝试就成功了。...如果你从来没有失败过,那么说明你畏头畏尾,从来没有尝试过任何新的东西。 不要害怕寻求帮助 我们都工作在一个会犯错会失败的环境中。所以,你不应该害怕寻求别人的帮助。...做一个持续的学习者 这个时代每时每刻都有新事物被发明被创造。这在IT行业也是如此。每一天都有新的东西需要学习。在一天结束时,你学到了什么才是最重要的。你应该尝试所有与开发相关的技术。...当我说要成为一个持续的学习者时,其实这受你真正能学到什么的限制。你只需要去尝试你认为对你的编程生涯有帮助的技术。当然,正如我在上面所说,你必须掌握其中的一些技术。...但是有时你可能会不得不和一个消极被动的人一起工作。但是重要的是,你得保持住自己的乐观和主动性。 不要过度承诺 我们的项目都有时间期限,这是我们都知道的。你在时间框架中能做什么是有限制的。要去理解那些。

    70760

    20110612 DiscuzNT代码研

    事件与方法的绑定 事件与事件处理方法的绑定,在.NET中是通过“委托”实现的,在ASP.NET中,有几种方式可以绑定事件方法。...1) 委托:在C#代码中实现 this.button1.Click += new System.EventHandler(this.button1_Click); 2) 控件标记 的类,只是这个类因为在其他页面没有指定继承Page,所以默认继承Object,但是对于ASP.NET页面必须继承Page,所以在运行提示错误...也就是说,实际上当我们编译了dll文件了,实际上我们可以不用CodeBehind这个东西,我们直接用Inherites指名我们要继承的类即可。 我再做一个实验。...这个应该是VS的机制。 2) index_cfq.aspx底下的两个文件会感叹号,可以删除了,所以下面图看不到。

    1.4K10
    领券