Sí, está permitido y puede ser útil por una serie de razones.
- Depuración - Si, por alguna razón se quiere "forzar" un determinado parámetro de la petición, se puede establecer un valor en los
$_REQUEST
, $_GET
, o $_POST
matrices. Esto anularía cualquier valor enviado por la página solicitante, que puede ser deseado.
- , ya que vamos a hacer algo con toda la matriz - si se quiere, por ejemplo, todos los
json_encode
$_REQUEST
pares de valores clave , así como algunos valores adicionales, podría ser más rápido para simplemente "agregar" valores a $_REQUEST
de esta manera, luego pasar $_REQUEST
a json_encode()
.
Con respecto a su pregunta acerca de $_COOKIE
, no, no puede cambiar el valor de una cookie de esa manera, solo acceda a ella.
Nota del autor: El siguiente ejemplo fue agregado como una edición sugerida y aprobada a mi respuesta original. Y aunque puede funcionar, existen mejores formas de proteger su sitio de ataques de inyección (por ejemplo, prepared statements). En mi humilde opinión, un programador prudente debe considerar seriamente estos enfoques antes de confiar en el siguiente código.
Piense en evitar ataques de inyección SQL en su sitio web. Ese código simple dejará de ellos para todos los $_REQUEST
variables (por ejemplo mysqli):
function injectionwall($dbinterface)
{
foreach($_REQUEST as $key => $data)
{
$_REQUEST[$key]=$dbinterface->real_escape_string($data);
}
}
Todos $_REQUEST
variables son ahora seguro de usar :)
Sí, la asignación es completamente válida, aunque no puedo entender su uso – gopi1410
¿Por qué no probarlo y ver qué pasa? Así es como aprendes a codificar. – vascowhite
Podrías hacer eso, sí. ¿No sabes por qué lo harías? Por cierto. Simplemente podría intentar y ejecutar el código; P – Bono