PDA

Visualizza la versione completa : [CGI] Riconoscere richiesta da browser o da webserver?


kallo
02-11-2004, 13:54
Come può una CGI riconoscere se la richiesta di una pagina è effettuata da un broswer o da un webserver?
Esempio:
richiedo tale pagina:
http://www.paginegialle.it/pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs=&dv=pg&x=0&y=0
dal browser e la visualizzo correttamente

la richiedo invece con la funzione file() del php e la cgi credo riconosca che la richiesta arriva da un webserver e non me la fa vedere.

Come posso fare?
:ciauz:

shishii
02-11-2004, 15:55
legge gli header della query http che viene effettuata.

Gli header sono modificabili a piacimento quindi gli fai credere quello che vuoi.

A parte questo potrebbe darsi anche che usi il sistema dei cookies, cioè al collegamento ti manda un cookie e poi lo cerca, se lo trova ti da la pagina altrimenti no. Siccome i cookie sono ricevibili solo dai browser se ti colleghi tramite un'applicazione non lo trova.

kallo
02-11-2004, 20:51
I cookies non sono ho fatto la prova disabilitandoli sul mio browser e la pagina rimane comunque raggiungibile.

Ho tentato poi passando i seguenti Header

$out = "GET /pg/cgi/pgsearch.cgi?btt=1&ts=1&l=1&cb=0&ind=&nc=&qs=scarpe&dv=pg&x=0&y=0 HTTP/1.1\r\n";
$out .= "Host: www.paginegialle.it\r\n";
$out .= "Connection: Close\r\n\r\n";

Questa è la risposta che ho dal tentativo di connessione alle paginegialle tramite webserver.

HTTP/1.1 302 Moved Temporarily Date: Tue, 02 Nov 2004 19:43:29 GMT Server: Unix_WebServer Vary: Accept-Encoding Set-Cookie: kpi=80.241.167.254.207791099424609189; path=/; expires=Fri, 31-Oct-14 19:43:29 GMT; domain=.paginegialle.it P3P: CP='NOI DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR SAMa BUS IND UNI COM NAV INT' Location: /pg/cgi/pgerrore.cgi?l=1&cod=1 Cache-Control: no-cache="set-cookie,set-cookie2" Set-Cookie: sessionid=9043851606046980507; path=/ Expires: Thu, 01 Dec 1994 16:00:00 GMT Connection: close Transfer-Encoding: chunked Content-Type: text/html 0

Ovvero la solita pagina di errore che mi da ogni volta che tento connessioni dal webserver.
Questa risposta ti dice niente? Può essermi d'aiuto?

:nonlodire

shishii
03-11-2004, 00:11
Hai provato a cancellare i vecchi cookie prima di disabilitarli?

Nel messaggio di errore si parla proprio di cookie.

kallo
03-11-2004, 08:28
Tutti i cukki cancellai dallo mio pc, il messaggio di errore è relativo alla richiesta da webserver :dhò: .
Ho bloccato la ricezione da browser per quel sito specifico e fatto ampie pulizie.
:bhò:

shishii
03-11-2004, 18:09
vediamo di capire.

Ho analizzato il contenuto dei pacchetti TCP/IP con ethereal in vari casi:
1- richiesta della pagina con browser + cookie
2- richiesta della pagina con browser senza cookie
3- tramite script.

nel caso 1 questi sono gli header:



Hypertext Transfer Protocol
GET /pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs=&dv=pg&x=0&y=0 HTTP/1.1\r\n
Request Method: GET
User-Agent: Opera/7.54 (X11; Linux i686; U) [it]\r\n
Host: www.paginegialle.it\r\n
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n
If-Modified-Since: Wed, 03 Nov 2004 16:42:10 GMT\r\n
Cookie: kpi=151.37.162.42.8971099407144200; sessionid=7393234641758911320; lst=/pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs=&dv=pg&x=0&y=0\r\n
Cookie2: $Version=1\r\n
Connection: Keep-Alive, TE\r\n
TE: deflate, gzip, chunked, identity, trailers\r\n
\r\n


nel caso 2



Hypertext Transfer Protocol
GET /pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs=&dv=pg&x=0&y=0 HTTP/1.1\r\n
Request Method: GET
User-Agent: Opera/7.54 (X11; Linux i686; U) [it]\r\n
Host: www.paginegialle.it\r\n
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n
If-Modified-Since: Wed, 03 Nov 2004 16:39:53 GMT\r\n
Connection: Keep-Alive, TE\r\n
TE: deflate, gzip, chunked, identity, trailers\r\n
\r\n


nel caso 3



Hypertext Transfer Protocol
GET /pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs=&dv=pg&x=0&y=0 HTTP/1.0\r\n
Request Method: GET


la pagina è stata visualizzata sia nel caso 1 che 2 , ma non nel 3 generando un errore per server occupato.

A questo punto penso che analizzi gli header.

Prova a riprodurre gli header del caso 2.

A questo punto ritengo che analizzi gli

kallo
03-11-2004, 22:11
Le cose forse vanno lentamente migliorando... o forse peggiorano in maniera anomala.
Per spiegarti meglio i risultati che ho ottenuto ti inserisco il linkino
http://www.scoutfoligno3.it/go.php (http://)
della paginetta dove sto facendo le prove.
Guarda :dhò:...
Così a occhio e croce mi sembra codifica HEX :oVVoVe: ?
C'è via di uscita :confused: ?
Leggerò mai quella pagina da server :( ?

:ciauz:

shishii
03-11-2004, 22:41
mahh... :bhò:

di più non ti so dire

kallo
03-11-2004, 23:15
La mia battaglia personale contro la ricerca limitata del sito delle pagine gialle non finirà quì. Tento nel forum relativo al php se esce qualche idea da qualche testolina. Ti ringrazio tantissimo per l'aiuto.
:ciauz:

Loading