PHP  »  Articoli  »  Programmazione Php 

Php, Socket e HTTP

di: Fabio Sutto     19 Dicembre 2002

Osservazioni importanti

Dopo l'esecuzione dello script precedente, esaminando la consueta tabella "HTTP headers Information", ci si accorgerà che:

  • possiamo imitare perfettamente la request di un browser; ci siamo persino inventati un nuovo UserAgent ("Socket-PHP-browser 1.0"), e la pagina di provenienza (http://www.bwabwabwa.it).
  • Abbiamo anche inviato un'intestazione creata da noi di sana pianta (X-INVENTATO) il cui nome, come richiedono le specifiche HTTP, deve essere preceduto dal prefisso "X-".
  • Il protocollo usato per la richiesta è HTTP/1.0 e non la versione più recente perchè, purtroppo, l'API Php per i socket lavora molto male (ed è lentissima) se si effettua una request con HTTP/1.1. Fortunatamente la cosa è abbastanza irrilevante per i nostri scopi.
  • Come avevo anticipato anche il server ha restituito degli header, infatti questi precedono il corpo della pagina e se vorremo eliminarli dovremo "trattare" la stringa $dati prima di stamparla con echo() oppure limitarci alla richiesta semplice, senza specificare il protocollo (come nello script "simple_get.php" visto precedentemente)
  • Sono state spedite allo script php sul server ("info.php") anche un paio di variabili nella query string, e le ritroviamo prontamente riportate nella tabella "PHP Variables" come _GET["var1"] e _GET["var2"].
  • L'header "Host": è Importantissimo, fu introdotto con HTTP/1.1 ma non risulta incompatibile con le request HTTP/1.0. È bene utilizzarlo comunque, infatti si tratta dell'unica informazione in grado di identificare con precisione il sito richiesto, nei casi i cui dietro un unico IP si nascondano più hosts distinti (VirtualHosts).
  • Le intestazioni non sono qualcosa su cui fare troppo affidamento per il controllo degli accessi ad un sito, infatti sono facilmente falsificabili.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti