我的网站大部分是自定义 ASP.NET 代码,但我正在使用基于 PHP 的 MediaWiki添加一个 wiki 部分。
MediaWiki 总体上工作正常,但有一个问题。MediaWiki 有时会在 URL 中使用冒号来表示某些内容(例如http://myweb/wiki/MediaWiki:SideBar),这会从 ASP.NET 引发验证错误:
[HttpException (0x80004005): A potentially dangerous Request.Path value was detected
from the client (:).]
System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9673044
System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +53
如果可以避免,我不想完全关闭验证。我的偏好是编写一个可以在验证完成之前调用的类或回调。我的代码可以检查 URL 是否包含“MediaWiki:”,然后跳过对该特定场合的验证。
问题是,我不知道在哪里做这样的事情。