Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

183
Vistas
¿Por qué POST y GET están vacíos?

Publico datos en un archivo PHP. Los datos POST y GET están vacíos, pero php://input muestra perfectamente los datos publicados.

¿Cómo es esto posible? ¿Y qué puedo hacer para comprobar/arreglar esto?

Este es mi código:

 const myJSON = JSON.stringify(data); let result = myJSON.replace("[{","{"); result = result.replace("}]","}"); result = result.replace(/},{/g,","); var user = '{{ Auth::user()->name }}'; var l = document.getElementById("languages"); var langcode = l.value; var params = 'user='+user+'&lang='+langcode+'&data='+result; var url = "/public/test.php"; var xhr = new XMLHttpRequest(); xhr.open("POST", url, true); xhr.setRequestHeader('Content-type', 'application/json'); xhr.send(params);
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Ah, solución:

Cambio:

 xhr.setRequestHeader('Content-type', 'application/json');

dentro

 xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
about 4 years ago · Juan Pablo Isaza Denunciar

0

Sé que ha encontrado una solución a su pregunta, pero me gustaría señalar que está haciendo cosas muy peligrosas aquí, que en el mejor de los casos corromperá sus datos y en el peor de los casos hará que su sitio sea vulnerable a la inyección de secuencias de comandos. .

  1. Si no está enviando JSON, entonces no use JSON.stringify y luego manipule la cadena de esa manera. Si los datos contienen esas cadenas que está reemplazando, eso los corromperá, y si esos datos son ingresados por el usuario, permita la inyección de secuencias de comandos.

  2. Supongo que {{ Auth::user()->name }} es un código del lado del servidor. Si el nombre de usuario contiene una comilla o cualquier cosa que no sea una cadena de JavaScript válida, esto romperá el JavaScript y posiblemente permitirá que un usuario malintencionado inyecte el script. Además: ¿Por qué está devolviendo el nombre de usuario en la solicitud? El servidor ya conoce el nombre de usuario. Esto parece que permitiría un uso malicioso para leer o escribir datos pertenecientes a otro usuario, si se manipula la solicitud.

  3. No cree cadenas de consulta como esa usted mismo sin escapar de los datos. Esto rompe su secuencia de comandos si contiene caracteres que no están permitidos en las URL, lo que hace : { y } no son caracteres válidos en las URL. Utilice, por ejemplo, la API URLSearchParams para crear una cadena de consulta con escape adecuado.

  4. Finalmente, no está realmente relacionado con la seguridad, pero la nueva API Fetch es más fácil de usar y más poderosa que la antigua XMLHttpRequest .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda