libreria cURL e cambio URL location

biliards

Nuovo Utente
30 Mag 2008
3
0
0
Ciao a tutti,

ho letto in lungo e in largo ma non ne vengo fuori..
Ho un form (https://domain1/page.html) e vorrei:
* mascherarlo con uno mio (https://domain2/page.html)
* postarci tutti i campi a partire dal mio (https://domain1/page.html)
* ritornare la pagina di ringraziamentore del form originale
(https://domain1/page.html) quando sottometto con il mio form
(https://domain2/page.html)

https://domain1/page.html ha un tag particolare:
<form method="post" id='signup' onsubmit="return validate_form();">
la funzione javascript ritorna un 'true'.
se compilo tutti i campi e sottometto, il browser mi ritorna una pagina di ringraziamento nella stessa pagina: https://domain1/page.html

ho creato il mio form in https://domain2/page.html
questo richiama https://domain2/my.php che posta i campi al form originale con questo codice:

Codice:
 ..
 $url = "https://domain1/page.html";
 $user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_POST, count($postdata));
 curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
 curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 $result = curl_exec($ch);
 ..

se compilo tutti i campi del mio form (https://domain2/page.html)
e sottometto, il browser mi ritorna la pagina del form originale
(https://domain1/page.html) con tutti i campi compilati e non la pagina di ringraziamento.
ho testato my.php con più opzioni della libreria facendo più combinazioni delle opzioni seguenti:

Codice:
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
 curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
 curl_setopt($ch, CURLOPT_FAILONERROR, 0);
 curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);

I controllato le opzioni php safe e basedir, gli errori della libreria e le info che ritorna l'url:

Codice:
 .. codice precedente..

 if(!ini_get('safe_mode') && !ini_get("open_basedir")) {
  echo "n safe, n basedir: CURLOPT_FOLLOWLOCATION, true";
 } elseif(!ini_get("open_basedir")) {
  echo "y safe, n basedir";
 } elseif(!ini_get('safe_mode')) {
  echo "n safe, y basedir";
 } else {
  echo "y safe, y basedir";
 }

 $error_no = curl_errno($ch);
 $error_wd = curl_error($ch);
 $url_info = curl_getinfo($ch);

 $result = curl_exec($ch);
 curl_close($ch);
 $strg = "";

 foreach ($url_info as $k => $v) {
  $strg .= "$k = $v; ";
 }

 if ($error_no == 0) {
  $error = '<br/>File uploaded succesfully
('.$error_wd.'['.$error_no.']): '.$strg.'.';
 } else {
  $error = '<br/>File upload error ('.$error_wd.'['.$error_no.']): '.$strg.'.';
 }

 echo $error;

E ottengo che:
* php lavora con safe_mode e open_basedir ON
* il posting via curl non ha errori:
File uploaded succesfully ([0]): url = https://domain1/page.html;
content_type = text/html; http_code = 200; header_size = 393;
request_size = 175; filetime = -1; ssl_verify_result = 0;
redirect_count = 0; total_time = 1.60061; namelookup_time = 0.002403;
connect_time = 0.143216; pretransfer_time = 0.438166; size_upload =
4552; size_download = 51836; speed_download = 32385; speed_upload =
2843; download_content_length = 0; upload_content_length = 4552;
starttransfer_time = 0.589802; redirect_time = 0; .1

Non comprendo dove o cosa devo modificare perchè il browser mi ritorni la pagina di ringraziamento (https://domain1/page.html) quando ho compilato e sottomesso il mio form (https://domain2/page.html).

potete aiutarmi?

Alessandra.
 

lotus

Utente Attivo
5 Mag 2009
543
8
0
in verità è un pò strano, scusa hai provato a testare il tutto sullo stesso dominio ma su pagine differenti, tanto per capire se l'operazione di post avviene e redirect avviene?
 

biliards

Nuovo Utente
30 Mag 2008
3
0
0
se con operazione di post intendi che riempie tutti i campi, sì avviene.
la redirezione alla pagina successiva al form non avviene, oggi ho provato anche con CURLOPT_REFERER con valore https://domain1/page.html e poi anche con
https://domain1/ ma senza cambiamenti: il form originale viene riempito ma non passo alla pagina dei ringraziamenti.
credo che anche la funzione onsubmit compresa nel tag form sia complice del fatto che non ci sia la redirezione alla pagina successiva, o comincio mi sbaglio?
devo postare i link dei form originale e creato da me?
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
S Libreria PHP per creare file dwg o dxf PHP 0
felino Esportare tabella HTML in PDF, quale libreria usare? Javascript 1
I [Javascript] Creazione di una piccola libreria e integrazione in angular Javascript 2
L Dovrebbe scegliere la libreria javascript interna o esterna Javascript 0
W Gestire ccTalk o libreria c++ da php PHP 0
Sevenjeak [C#] Aiuto esportazione tema su libreria di classe ( dll ) .NET Framework 1
Marcello.Fiore libreria ajax Ajax 2
L Codeigniter estendere libreria Validation PHP 0
M Come andare a capo con la libreria FPDF PHP 6
M Installazione libreria Zend GData per google Api PHP 0
V PROBLEMA con libreria C/C++ 0
I Libreria di validazione e sanitizzazione PHP 0
M Assi in libreria javascript d3 Javascript 0
F Installazione libreria GD PHP 0
MarcoGrazia jQuery richiamarne la libreria in file HTML Snippet Javascript 0
M Aiuto per una libreria per generare grafici PHP 1
felino Libreria PHP per conversione da Json a CSV PHP 4
P Problema urgente con Python e la libreria Mechanize Programmazione 0
J Gioco di scacchi usando la libreria createjs Javascript 0
voldemort [LIBRERIA] Background Mail Sviluppo app per Android 0
voldemort Lista libreria JAVA per Android Sviluppo app per Android 2
M inserire un download delle immagini in una libreria lytebox jQuery 0
Alberto Buracchi Cambiare sorgente libreria se non viene trovata Javascript 5
R [PAGATO] Script/libreria per sito già esistente Offerte e Richieste di Lavoro e/o Collaborazione 1
V Usa la libreria "phpgraphlib.php" problemi nell'includere altri file PHP 2
T c++-libreria iostream C/C++ 0
L creare una libreria javascript Javascript 3
L Flash AS3: popolare array di oggetti presenti in libreria Flash 0
M creare pdf con php - libreria mpdf PHP 0
S [Java] applet non carica classi importate da libreria.jar Java 1
L libreria suoni Flash 1
F Libreria Fpdf per PHP PHP 0
SolidSnake4 qualcuno sa come funziona la libreria gettext PHP 1
SolidSnake4 info installazione libreria gettext PHP 1
G Libreria pspsdk Programmazione 0
F libreria standard del c++ C/C++ 0
A Link ad elemento Libreria Flash 2
R Navigare sito con cURL, mi restituisce errore PHP 0
N WEBBOT CURL PHP 1
N WEBBOT CURL PHP PHP 1
W Come effettuare ripetute chiamate Curl con la stessa connessione autentica [PHP] PHP 0
L [PHP] comando curl ad una pagin web PHP 1
M PHP CURL PHP 0
W [PHP] gestire una richiesta curl sul server PHP 0
I [PHP] CURL per accesso ad area riservata PHP 6
M [PHP] Bloccare richieste indesiderate cURL PHP 12
momeraths [WordPress] cURL error: problema aggiornamento/installazione plugin WordPress 4
L Problema con recupero dati in PHP cURL e JAVA con server PHP 1
E Problema PHP Curl PHP 0
alexbrasile PHP convertire la funzione fsockopen in curl PHP 0

Discussioni simili