Pregunta

¿Cuál es el método más confiable, mejor y más seguro para usar para las variables de URL pasadas a diferentes páginas: 1). Uso de las variables de sesión como parámetros de URL, o

2). Parámetros de cadena de consulta regulares.

"Más confiable, mejor y más seguro" con respecto a: 1. Evitar problemas derivados del lado del cliente, como cuando un usuario desactiva las cookies 2. Compatibilidades del navegador. 3. Hacer llamadas API (ya que algunas API tienen limitaciones y problemas de compatibilidad) 4. Uso de recursos y memoria, y velocidad de procesamiento

Estoy creando un sitio donde la cantidad de parámetros de cadena de consulta en las URL puede variar (potencialmente 9 valores transportados en la URL), según la entrada del usuario. Parecería más fácil almacenar los valores variables en las variables de sesión que llevarlos a todos (posiblemente 9) en los parámetros de URL. Pero debido a las 4 preocupaciones mencionadas anteriormente, estoy dudando en usar las variables de sesión.

¡Gracias por cualquier consejo!

ps. Los parámetros de la URL se están construyendo dinámicamente. en la variable de $ URL, como esta:

$keyword = trim($_GET["Keyword"]);

$url = "webpage.php?";
$url .= "&Keyword=$keyword";

$shopByStore = $_GET["store"];
if (!empty($shopByStore)) {
$url .= "&store=$shopByStore";
}
// with 7 more GET methods potentially retrieving values for the URL parameters 

Las URL se verán así:

<a href="<?php echo $url; ?>">anchor text</a><br>

Y, por supuesto, si voy a la ruta de la variable de sesión, los valores de entrada del usuario se obtendrían de clics de URL y se almacenarán en las variables de sesión hasta que la sesión haya terminado.

if (isset($_GET["store"])) {
$_SESSION["shopByStore"] = $_GET["store"];
}  

¿Fue útil?

Solución

Por supuesto, es posible ahorrar, por ejemplo, una palabra clave enviada para una búsqueda en una variable de sesión.

¿Pero es útil?No.

La variable de sesión olvidará todo, cuando la sesión se destruya.Tal vez el usuario quiera guardar la búsqueda o darles a otro usuario?

Con los parámetros de GET no es un problema, simplemente copie la URL completa y la seguridad.

¿Pero con los parámetros SESSION?Imposible.Cada usuario tiene su propia sesión y la próxima vez que el usuario visite el sitio, obtendrá otra sesión (por ejemplo, si los usuarios cerraron el navegador antes).

En sesiones, solo debe almacenar información específica del usuario.Por ejemplo, los elementos de usuario, nombre de usuario o cesta.

que son solo algunos puntos para SESSION vs GET.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top