Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>If you want to allow the request through, you need to add <code>requestPathInvalidCharacters</code> and set it to an empty string:</p> <pre><code>&lt;system.web&gt; &lt;httpRuntime requestPathInvalidCharacters="" /&gt; &lt;/system.web&gt; </code></pre> <p><strong>Edit</strong> You should leave your original question in place, because now my answer does not make sense.</p> <p>But in answer to your second question, that it's because %3f corresponds to '?' which is not allowed in file names on Windows. You can set the <code>relaxedUrlToFileSystemMapping</code> property to <code>true</code> to change this behaviour:</p> <pre><code>&lt;system.web&gt; &lt;httpRuntime requestPathInvalidCharacters="" relaxedUrlToFileSystemMapping="true" /&gt; &lt;/system.web&gt; </code></pre> <p>You might want to look through all of the properties in the <a href="http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection_properties%28v=VS.100%29.aspx" rel="noreferrer">HttpRuntimeSection</a> class to see if there's any others that might apply.</p> <p>You can also implement a sub class of <a href="http://msdn.microsoft.com/en-us/library/system.web.util.requestvalidator.aspx" rel="noreferrer">RequestValidator</a> and set up your web.config to use your subclass (that will presumably allow all URLs through?). Personally, I wouldn't bother and just let the built-in classes handle it. It's unlikely that a normal user is every going to <em>accidentally</em> type in "%3f" in a path, and why bother going to so much trouble to improve the use-case for malicious users?</p> <p>This, by the way, is actually a new feature in ASP.NET 4, which is why Stack Overflow doesn't spit out an error: it's running on .NET 3.5.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload