Tengo un script PHP que verifica el HTTP Referer.
if ($_SERVER['HTTP_REFERER'] == 'http://www.example.com/') {...}
Sin embargo, esto parece inherintly insegura ... porque ¿qué ocurre si el usuario va a 'http://example.com/'
o 'http://www.ExaMple.com'
(ambos de los cuales no coinciden con la prueba de igualdad).
Pregunta: ¿Cuál es la mejor prueba de igualdad para asegurarse de que HTTP Referer proviene del 'example.com'
?
¿Lo está utilizando para la defensa? ¿Cómo puede ayudar? –
Es solo una primera línea de defensa (especialmente dado que sé que el árbitro puede ser engañado). No protege nada seguro, pero al mismo tiempo, no quiero que la gente abuse de mi servicio web llamándolo directamente. Está más destinado a mantener a las personas medio honestas. – Hank
Un usuario puede controlar el http_referer utilizando datos de sabotaje. Sin embargo, el referidor no puede ser "falsificado" para ser utilizado en un ataque CSRF. – rook