Web Forms :: Page.Request.UrlReferrer Not Working?
Nov 24, 2010
What I am trying to solve here is to check for what is previous page's url and compare it. If it is login.aspx then I want to display an WelcomeNote() message. Any help would be deeply appreciated. Here's the codes.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Request.UrlReferrer IsNot Nothing Then
I came upon an interesting discussion with my team around the use of HttpRequest.UrlReferrer and wanted to solicit feedback from the community. According to the W3C spec:
The Referer[sic] request-header field allows the client to specify, for the server's benefit, the address (URI) of the resource from which the Request-URI was obtained (the"referrer", although the header field is misspelled.) The Referer request-header allows a server to generate lists of back-links to resources for interest, logging, optimized caching, etc. It also allows obsolete or mistyped links to be traced for maintenance. The Referer field MUST NOT be sent if the Request-URI was obtained from a source that does not have its own URI, such as input from the user keyboard.as input from the user keyboard.
The Request.UrlReferrer object does the work of converting referral strings that contain well formed URIs to an object with properties on every request. According to our logs there are requests that come in that contain invalid data in the referral such as:
Using Request.UrlReferrer would mean the above cases would be NULL. Is it better to discard the invalid data based on the W3C spec by using Request.UrlReferrer or preserve it by using Request.ServerVariables["HTTP_REFERER"] even though the data may be interesting, but potentially useless.
I am working on an app where users are only allowed access if they click through from certain URLs. I.e. I need to authenticate by using the referral url and I am using Request.UrlReferrer to achieve this.
I am guessing that the Request.UrlReferrer can be tampered with by malicious users to gain access...
Instead of checking for the URL [URL] in 'main.cs', Can I check for the same condition in the 'web.config' file ? If so, How can I do that ?? Is there any way to transfer the part -- Request.UrlReferrer.ToString().Substring(0, 31).Equals[URL] -- into the 'web.config' !!
Both returns the incoming url, Just to know When to use Request.UrlReferrer and when Request.ServerVariables["HTTP_REFERER"] and why?Currently, in one of my application Urlreferrer is working in my local machine but its not working when went live?Additionally, its most appreciable if anyone can guide any alternative of both Urlreferrer and HTTP_REFERRER?
i have a page in my webapp, in which a pdf is created. When the page is loaded, parameters are read from the querystring and the process of building the pdf starts. This contains two xslt transformations and one antennahouse-fo-formatter call. The result of the first xslttransformation is written into an memorystream, which is the source for the second transformation. The result from the second transformation is the source for the pdf-generation. Our live-system is an loadbalanced-system containing two servers. The page works for a while, but at once the page fails on one server with the following exception:
when i browse the page with firefox and click on the input Request.Params["btnshoppingCart"] != null or Request.Form["btnshoppingCart"] != null is statisfied.
When i browse the same page with internet explorer 8 and click on the same input Request.Params["btnshoppingCart"] != null or Request.Form["btnshoppingCart"] != null is not satisfied. When i used the watch i saw that there is no key by the name of "btnshoppingCart" in either Request.Form or Request.Params if input is clicked from internet explorer. However when it is clicked from firefox there is value "shoppingCart" inside Request.Form and Request.Params against "btnshoppingCart" key. One more strange thing that i observed was that are two keys "btnshoppingCart.x" and "btnshoppingCart.y" inside both Request.Form and Request.Params whenver clicking is done from both internet explorer and firefox. This is happening against all inputs of type image irrespective if the input is present inside a html form or not. Forms are created like this
<% using (Html.BeginForm("Action", "Controller", FormMethod.Post)){%>
The version of internet explorer is 8.0 and firefox is 3.6.6
I am trying to get the QueryString value like this Request.QueryString("SYSTEM") from a UrlReferrer. I see i can use this Request.UrlReferrer.Query() but it doesn't allow me to specify the exact parameter I could parse the Query() value, but I want to know if it is possible to do something like this Request.UrlReferrer.QueryString("SYSTEM")
Here's the scenario, we've built a url shortener (that we use only to shorten urls for Twitter to our website), and we also track the number of times a url has been clicked. So, for example.. the url might be something like "http://ourshortdomain.com/x9Mr"
Now, in many cases, we see as many as 1000 or 2000 clicks per shortened url, but the referrer is almost always null. How can this be, if the only place we're handing out that shortened url is on Twitter? Shouldn't all the url referrers be coming from Twitter?...
I am developing a .net website using Visual Studio 2008.
Now this webpage should be open only from link available on other website. User should not be able to type the URL directly in browser and should not be able to open this way directly. When user logs in to other website, there is a link for my website and when user clicks on that link, then only my website should be opened up.
Now, I can not use "Request.UrlReferrer" because it is not 100% correct way as there are many ways that URLReferrer can be blocked by browser or by some antivirus or etc, so I cannot use URLReferrer on my webpage to check from where this page is opened up.
Now my question is what is the best way to check on my webpage that my site has been opened up only from that source? I can also pass some querystring from that website but I am not sure how can I make sure that my webpage opens up only from that source, not when user directly types URL in the browser.
I am developing an internal application in .NET which tracks computer name and give access only if they match users which are in a users table in database. When i tested in my local machine and in production server, I am able to get computer name. But for few users the application just don't work since Request.ServerVariables["REMOTE_USER"] is returning empty values. For myself and even for few users we can get computer name with Request.ServerVariables["REMOTE_USER"] but for few users it returns empty values.I even tried using Request.ServerVariables["LOGON_USER"] and WindowsIdentity funtions, but still getting empty values.
I am wondering if there is anyway to grab the html that is generated from an ASP page.I am trying to pull a table from the page,and I foolishly used a static html page so I would not have to be constantly querying the server where this page resides while I tested out my code.The javascript code I wrote to grab to unlabeled table from the page works.Then when I put it into practice with the real page and found that the ASP page does not generate a viewable page with a jquery .get request on the URL.
Is there any way to query the page for the table I need so that the ASP page returns a valid page on request?(I am also limited to using javascript and perl for this,the server where this will reside will not run php and I have no desire to learn ASP.NET to solve this by adding to the issue of proprietary software)
I have a news list and when I click on every each news, it navigates to another page where I can see news details. What I need is I want to request every news title in news details page and show it in <title> section in <head> as the pages title. It means the <title> tag in news-details page must be dynamic and will change depending on every news articles title. But I don't know how to do this because the only parameter that will be sending from news-list page to news-details page is news-id and not news title.
I have some serious performance Issues with Windows controls loading first time on IE Browser then subsequent request's. When ever i open Browser first time , mywebsite takes 7 seconds to load, but on subsequent request without closing browser it loads with-in 2 seconds.I Knew IIS on first time it re-compiles the process and for subsequent request's it wont perform and it cahches .I'm looking for better options to improve performance, when ever first time reqest's comes to web server.
On IIS 7 Server,I was using both Dynamic and Static compression enabled.Also,On application pool ,I set "ShutDown Time(Limit)" and "Startup Time(Limit") to 90 (seconds).Here is web.config i disable below to improve performance issues.
I do some stuff with dynamic DropDownLists. A choice at one level makes the next level appear and so on.
When I open up an old report for editing, the first level is not editable so I set that DropDownList to Enabled=false (still dynamically in code).
My problem is that when I press save (a LinkButton) I first come to my OnInit as usual and check the Page.Request.Form for my DropDownLists, but then the first list is not represented.
But if I change one of the lists when editing, a postback is made, then there is no problem at all with the Page.Request.Form, the first list is there all the time.
Is there some fundamental difference with causing a PostBack from a LinkButton vs a Dynamically Added DropDownList?
I'm using Request.PathInfo to response.redirect as user to a different page ( based on the content after .aspx ). It redirect just fine however, once redirected, the page loses all content from the master page and the CSS link.
I know that dynamic buttons and buttons in general don't use a typical postback and they post through the page.request.form. Okay, so in visual studio, I was able to determine that page.Request.form and in the all-keys property, i SEE my button there. It is the last item in all-keys.
When I am clicking this dynamic button which is in an updatepanel, the script below does not detect it as a button, it is still showing it as null:
public static Control GetPostBackControl(Page page) { Control control = null;
[Code]....
but here is the kicker, when I am traversing through the object, I am looking at the object C and the property 'ctl'. The ctl is showing me a value of "ButtonRow_0Col0" and it is of type string. This is good! But , the 'c' control object still says 'null'.