On 18 Mar 2008, at 12:46, Sudhakar wrote:
my question is about displaying a friendly message when someone
directly types a url in the browser.
example i have one file called form.php which processes the
information entered in the form and lets say the next page is
thankyou.php?firstname=david
by seeing the url if someone types thankyou.php?firstname=smith in the
address bar the browser will display smith.
1. so if a user enters a url in the browser directly to a specific
page("thankyou.php") i would like to display a message like =
"Direct access to this file is not allowed"
It is not possible to do this reliably. You can check the HTTP_REFERER
variable in $_SERVER, but it's not guaranteed to exist and certainly
not guaranteed to be accurate.
I'm guessing you want to protect access to some restricted resource,
in which case you need to implement a server-side only check. The most
common way to do this is to use sessions. If someone hits the page
without a valid session you know they've not gone through the whole
process.
2. with the above method assuming even if i type thankyou.php in the
browser directly, though i own the file i will also get the message
"Direct access to this file is not allowed". so i would not like to
see this message, i guess for this i need to specify my IP address i
suppose.
That would be one way to do it, but bear in mind that any way you put
in to get around security is open to being exploited by other parties.
Think carefully about whether you actually need to hit that URL
directly all the time or just during development. If it's just during
development it would be better to disable any security features you've
implemented, just make sure you re-enable them before you put it live.
-Stut
--
http://stut.net/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php