我在ELMAH日志中遇到此错误。错误说明,
System.Web.HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (:).
在查看日志中的堆栈跟踪后,似乎发生了错误,因为我正在使用
<a href="tel:8888888888">8888888888888</a>
标记。
这不是电话号码的有效HTML5实施吗?我怎么能解决这个问题?
那么&#34; whatsapp:&#34;标签? (see related post)
答案 0 :(得分:1)
看起来你有一个愚蠢的浏览器在点击锚点时要求服务器提供tel:
URI。 tel:
URI应该使客户端计算机拨打本地电话设备,并且服务器正在警告已经请求了服务器的URI。这可能是一个历史性的攻击载体。
因此,在某个层面上,这可能是一个可忽略的错误。
也可能是浏览器试图“智能”,因为未正确指定电话号码。根据{{3}},电话号码必须是有效的RFC 3966或正确形成的“本地地址”,而888-888-8888
则不是。+1-888-888-8888
。如果您指的是北美手机,则地址正确1
(短划线是可选的,加号不是,SHOULD NOT
是国家/地区代码)。如果您尝试表示本地地址,图灵可以帮助您理解规范;注意,RFC表示使用本地地址+<country code>
。
如果智能/愚蠢的浏览器将URI作为新颖的请求传回服务器,如果它无法解析它,它就太聪明/愚蠢了,应该忽略它。
所以,在另一个层面上,也许你应该在你的href中放一个tel:
。如果一个浏览器以这种方式被破坏,另一个将是。在{{1}}请求返回服务器之前不久,回到日志中以查看同一请求者是否正在请求具有格式错误的URI的页面是一个好主意。如果您可以为请求者获取UserAgent也会很好。很高兴看到这是试图渗透旧服务器还是最终用户使用IE 5或sumptin进行无辜行动。