Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Efficient URL masking/cloacking/hiding in existing ASP.NET 4 solution

I have a current system using IIS 6 and 7, written in ASP.NET with C# in .NET 4.

My purpose is to hide the url completely (as per client request). i.e. https://myapp.it.mydomain.com/Secure/folder1/folder2/folder3/someView.aspx must be https://myapp.it.mydomain.com/ or at least a unfirm non changing page: https://myapp.it.mydomain.com/constantView.aspx

Currently, we make use of Response.Redirect for all navigation items, and some direct links. We also have some minor usage of query strings, but more dependent on cross-page post backs. We do not have any means of URL masking in place and are looking to provide a mechanism to do so.

I'm already aware of a few method to perform URL Masking, but would like SO's opinion in the easiest to implement solution.

Easiest, is referring to time to implement. i.e. Changing our calls to use Server.Transfer exclusively is not an option.

ASP.NET Routing seems like a fair solution, but needs work on all query strings as I understand it, to map where we need them to. I am not clear if this can provide hiding for all pages instead of one to one mapping.

Using framesets/iFrames is also not an option, as it causes many complications with the existing solution.

As I understand it, the URL Rewrite Module may be my best solution.

I'm hoping this question can lead to a good list of possibly solutions, and perhaps methods that I have not already been made aware of.


edit

A more clear question with current situation:

We are using IIS 6 (thus the IIS 7 rewrite module is out of the question). Is there a way to provide URL cloaking/masking which will not break existing code which uses Page.Referrer (in ASP.NET) and query strings?

The idea is to make the address bar always appear to be the same. Even a JavaScript hack is acceptable.

like image 860
ericosg Avatar asked Oct 07 '22 19:10

ericosg


1 Answers

You have an excellent breakdown of all the possible solutions for your purpose here: http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

But based on your request, I personally think that URL rewriting is your best bet, as you would only need to add rewriting rules in the web.config file, so its the easiest to implement solution. For IIS6 I myself in the past have used Intelligencia UrlRewriter.NET

like image 166
Nikola Bogdanović Avatar answered Oct 12 '22 11:10

Nikola Bogdanović