¿Puedo enviar, por ejemplo, una cadena u otra información a otro archivo .php sin que esté expuesto [así no por GET sino por POST conforme a lo que sé] sin usar un formulario?Enviando datos POST sin formulario
Respuesta
Si no desea que sus datos sean vistos por el usuario, utiliza una sesión de PHP.
Los datos en una solicitud posterior aún son accesibles (y manipulables) por el usuario.
Pago this tutorial en PHP Sesiones.
esto no es una buena solución, también si el autor lo aceptó como una solución alternativa. también las sesiones son más fáciles de secuestrar que manupilar una solicitud posterior (es decir, por un ataque de "hombre en el medio") –
¿Por qué es esta una mala solución? Quizás el proceso de Samuel es tal que secuestrar la sesión no es un problema. La única forma de resolver verdaderamente el secuestro de sesión (de forma discreta) es usar SSL para todas las solicitudes relacionadas con la sesión. Si Samuel estaba preocupado por la filtración de los datos, debería usar SSL. –
@zolex, ¿qué tiene de difícil interceptar datos de publicaciones? Sentarse en una cafetería con WireShark funcionando es todo lo que necesita para secuestrar los datos POST. Recrear la solicitud con cookies y publicar datos, y ya está listo para comenzar. Si considera que las sesiones son una mala solución, entonces SSL es la única buena solución. – riwalk
Puede usar AJAX para enviar una solicitud POST si no desea formularios.
Utilizando el método jQuery $.post es bastante simple:
$.post('/foo.php', { key1: 'value1', key2: 'value2' }, function(result) {
alert('successfully posted key1=value1&key2=value2 to foo.php');
});
eche un vistazo a la documentación de php para estas funciones que puede enviar después de utilizarlas.
fsockopen()
fputs()
o simplemente utilizar una clase como Zend_Http_Client que también se basa en el zócalo-conenctions.
también encontraron una neat example utilizando Google ...
Enviar sus datos con la sesión en lugar de correos.
session_start();
$_SESSION['foo'] = "bar";
En la página donde se reciba la solicitud, si es absolutamente necesario datos POST (un poco de lógica raro), puede hacer esto somwhere al principio:
$_POST['foo'] = $_SESSION['foo'];
Los datos enviados serán válidas lo mismo que si se envió con POST.
Luego destruya la sesión (o simplemente desarme los campos si necesita la sesión para otros fines).
Es importante destruir una sesión o desarmar los campos, porque a diferencia de POST, SESSION seguirá siendo válido hasta que lo destruya explícitamente o hasta el final de la sesión del navegador. Si no lo haces, puedes observar algunos resultados extraños. Por ejemplo: usa sesson para filtrar algunos datos. El usuario enciende el filtro y obtiene los datos filtrados. Después de un tiempo, regresa a la página y espera que el filtro se restablezca, pero no es así: todavía ve datos filtrados.
Utilice simplemente: file_get_contents()
// building array of variables
$content = http_build_query(array(
'username' => 'value',
'password' => 'value'
));
// creating the context change POST to GET if that is relevant
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'content' => $content,)));
$result = file_get_contents('http://www.example.com/page.php', null, $context);
//dumping the reuslt
var_dump($result);
Reference: mi respuesta a una pregunta similar:
- 1. asp mvc post no enviando datos del formulario
- 2. ¿Enviando solicitudes de POST sin esperar respuesta?
- 3. Cliente C# REST enviando datos utilizando POST
- 4. Enviando HTTP POST con System.Net.WebClient
- 5. enviando formulario programáticamente
- 6. ¿Enviar datos POST a PHP sin usar un formulario HTML?
- 7. jQuery datos de formulario POST
- 8. enviando POST en ruby?
- 9. CodeIgniter: Validar formulario con datos POST multidimensionales
- 10. Recuperando datos POST con CakePHP sin formhelper
- 11. iPhone enviando mensaje POST con NSURLConnection
- 12. ¿Por qué $ .post() está sujeto a la misma política de origen, pero está enviando un formulario con method = 'POST' correcto?
- 13. POST con curl sin enviar datos
- 14. ¿Cómo obtener datos POST de formulario con Firebug?
- 15. Configuración de la variable POST sin usar el formulario
- 16. Hacer una solicitud POST en Selenio sin completar un formulario?
- 17. POST una matriz desde un formulario HTML sin javascript
- 18. Formulario HTML POST Cross Domain
- 19. ¿Se envía una solicitud POST de datos SIN PROCESAR con un formulario HTML?
- 20. script php para registrar los datos sin procesar de POST
- 21. Uso de MultipartPostHandler para POST datos de formulario con Python
- 22. ¿Detener nueva línea enviando un formulario?
- 23. Agregue el elemento de formulario dinámicamente usando javascript - no enviando
- 24. Método WCF enviando POST en lugar de GET
- 25. enviando datos desde angularjs a django
- 26. enviando el formulario en iframe y redirigiendo toda la página
- 27. Enviando una solicitud POST de Cocoa a Tumblr
- 28. Valores POST de elementos de formulario deshabilitados
- 29. datos POST a una URL en PHP
- 30. MySQL "Enviando datos" terriblemente lento
suena como usted necesita utilizar sesiones. – Gazler
No está del todo claro desde dónde se envían los datos desde y hacia. ¿Es cliente a servidor o servidor a servidor o servidor a servidor diferente? – buggedcom
Bueno, lo paso de un archivo a otro en el mismo servidor – Samuel