php / html - http_referer
-
03-07-2019 - |
Pregunta
Estoy creando un sitio web y, en una página en particular, deseo enviar al usuario a la página anterior. Soy bastante nuevo en PHP / HTML y he estado usando algún código existente para obtener ideas y ayuda.
El código existente utiliza el siguiente método:
if (! empty($HTTP_REFERER))
{
header("Location: $HTTP_REFERER");
} else
{
header("Location: $CFG->wwwroot");
}
Sin embargo, cuando uso este código, HTTP_referer siempre se trata como vacío y el usuario es redirigido a la página raíz. ¿Alguna falla obvia en este código?
Solución
Debes usar:
Debes usar:
<*>SERVER['HTTP_REFERER']
Otros consejos
No confíe en que el Referente HTTP sea un campo válido o incluso no vacío. Las personas pueden optar por no tener este conjunto dejando que las comprobaciones de esa variable vayan al lado vacío de la cláusula IF-ELSE.
Puede protegerse contra esto enviando a lo largo de un parámetro en la URL o en los parámetros POST que tendrían un valor que puede usar para redirigir al usuario.
isset ($ _ SERVER ['HTTP_REFERER'])? $ _SERVER ['HTTP_REFERER']: '';
Si desea devolver a la persona a la página anterior y hacer que funcione independientemente de que la referencia se haya configurado correctamente, puede agregar un parámetro GET a la URL (o POST). Deberá codificar la URL. Algo como
Puede utilizar la función urlencode ()
de PHP.
También tenga en cuenta que el encabezado del remitente puede estar vacío o faltante de todos modos, por lo que no debe confiar en ello en absoluto ...
Deberías usar
Deberías usar
<*>
Sin embargo, mire la configuración de register_globals en php.ini, debe estar desactivada por razones de seguridad. Puede leer más en sitio del Manual de PHP .
SERVER['HTTP_REFERER']
Sin embargo, mire la configuración de register_globals en php.ini, debe estar desactivada por razones de seguridad. Puede leer más en sitio del Manual de PHP .