我的大多数网站都是自定义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
如果可以避免,我不想完全关闭验证。我的偏好是编写一个可以在验证完成之前调用的类或回调。我的代码可以检查网址是否包含“MediaWiki:”和然后是否跳过该特定场合的验证。
问题是,我不知道在哪里做这样的事情。