Dal manuale ufficiale:
'HTTP_REFERER'
The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.
Ok, prendiamo per buono il fatto che gli stessi autori di php avvertono della poca affidabilità nell'uso di "HTTP_REFERER" (anche se su certi manuali non viene nemmeno accennato minimamente questo aspetto, questo ne è un esempio), la domanda è: in che modo è possibile falsificare questo dato?
In pratica, con un semplice codice tipo questo:
Codice PHP:
[FONT=courier new]
<?php
if(isset($_SERVER['HTTP_REFERER'])) {
if($_SERVER['HTTP_REFERER'] == 'http://dominio_prova.it/main.php'){
//valido, istruzioni...
} else {
//non valido, istruzioni...
}
}
?>[/FONT]
si ha un margine di sicurezza minimo/medio, giusto?
Sè si, in che modo si può bypassare il controllo?