Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - php: inclusione di un file php in più pagine
Forum - PHP - php: inclusione di un file php in più pagine

Avatar
Denis442 (Normal User)
Rookie


Messaggi: 60
Iscritto: 22/09/2009

Segnala al moderatore
Postato alle 20:08
Lunedì, 26/07/2010
Salve, ho un problema: io ho messo all' interno del file ip.php il codice:
Codice sorgente - presumibilmente Php

  1. <?php function getRealIpAddr()
  2. {
  3.     if (!empty($_SERVER['HTTP_CLIENT_IP'?]))   //check ip from share internet
  4.     {
  5.       $ip=$_SERVER['HTTP_CLIENT_IP'];
  6.     }
  7.     elseif (!empty($_SERVER['HTTP_X_FORWARD?ED_FOR']))   //to check ip is pass from proxy
  8.     {
  9.       $ip=$_SERVER['HTTP_X_FORWARDED_F?OR'];
  10.     }
  11.     else
  12.     {
  13.       $ip=$_SERVER['REMOTE_ADDR'];
  14.     }
  15.     return $ip;
  16. } ?>

poi cosa devo fare? si può fare una cosa del tipo:
Codice sorgente - presumibilmente Php

  1. <?php
  2. include("ip.php");
  3. $ip = getRealIpAdd();
  4. if ($ip == "127.0.0.1") {
  5. echo("...");
  6. } else {
  7.  
  8. } ?>

ho sbagliato qualcosa? Se si dove?

PM Quote
Avatar
Denis442 (Normal User)
Rookie


Messaggi: 60
Iscritto: 22/09/2009

Segnala al moderatore
Postato alle 20:34
Lunedì, 26/07/2010
secondo i consigli di lumo (in chat) ho creato il file ip.php:

Codice sorgente - presumibilmente Php

  1. <?php function getRealIpAddr()
  2. {
  3.     if (!empty($_SERVER['HTTP_CLIENT_IP'?]))
  4.     {
  5.       $ip=$_SERVER['HTTP_CLIENT_IP'];
  6.     }
  7.     elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
  8.     {
  9.       $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  10.     }
  11.     else
  12.     {
  13.       $ip=$_SERVER['REMOTE_ADDR'];
  14.     }
  15.     return $ip;
  16. } ?>



ho creato il file ip.html:

Codice sorgente - presumibilmente Php

  1. <?php
  2. include("ip.php");
  3. $ip = getRealIpAddr();
  4. $lines = file("ip.txt");
  5. foreach( $lines as $line )
  6. {
  7.     if ( $line == $ip )
  8.     {
  9.         echo "ip bannato";
  10.     }
  11. }
  12. ?>



e il file ip.txt:

Codice sorgente - presumibilmente Plain Text

  1. 93.185.113.139



ho hostato sul server per provare il codice dopo essermi assicurato che il mio ip è quello sopra riportato, ho lanciato ip.html, ma non funziona. Non vedo errori di nessun tipo, non da particolari errori solo non mostra il messaggio di ban.

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 9:11
Martedì, 27/07/2010
Testo quotato

Postato originariamente da Denis442:
Non vedo errori di nessun tipo, non da particolari errori solo non mostra il messaggio di ban.



dovrebbe fare altro?

PM Quote
Avatar
Nophiq (Founder Member)
Expert


Messaggi: 537
Iscritto: 15/11/2004

Segnala al moderatore
Postato alle 9:32
Martedì, 27/07/2010
Il file 'ip.html' deve avere estensione .php affinchè venga eseguito come tale. Non puoi però chiamarlo 'ip.php', perchè già con questo nome è presente il file da includere.

PM Quote
Avatar
Denis442 (Normal User)
Rookie


Messaggi: 60
Iscritto: 22/09/2009

Segnala al moderatore
Postato alle 13:40
Martedì, 27/07/2010
Teoricamente no, ho già visto codici php all' interno di file html e sono sempre funzionati. Questa è l' unica eccezzione riscontrata.

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:03
Martedì, 27/07/2010
Testo quotato

Postato originariamente da Denis442:
Teoricamente no, ho già visto codici php all' interno di file html e sono sempre funzionati. Questa è l' unica eccezzione riscontrata.



Codice sorgente - presumibilmente PHP

  1. Unhandled Exception Type: "ItalianSyntaxException"
  2. Details: At: "eccezzione", Message: "Check the syntax near 'eccezzione'", Line: 2



a me leggendo il tuo post ha dato questa eccezione.

PM Quote
Avatar
Denis442 (Normal User)
Rookie


Messaggi: 60
Iscritto: 22/09/2009

Segnala al moderatore
Postato alle 17:18
Martedì, 27/07/2010
if (!empty($_SERVER['HTTP_CLIENT_IP'?]))
si riferisce a quel "?" dopo 'HTTP_CLIENTIP' che ho tolto quando ho fatto la prova

PM Quote
Avatar
__BlackworM__ (Member)
Pro


Messaggi: 110
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 6:11
Sabato, 31/07/2010
Testo quotato

Postato originariamente da Denis442:

Teoricamente no, ho già visto codici php all' interno di file html e sono sempre funzionati. Questa è l' unica eccezzione riscontrata.


ciao scusa se mi permetto ma un codice php non funzionerà ne ora ne mai in un file html e su questo non si discute, probabilmente hai visto un sito dinamico con url che finivano per html probabilmente grazie ad un file .htaccess e quindi una rescrittura delle url

PM Quote
Avatar
Denis442 (Normal User)
Rookie


Messaggi: 60
Iscritto: 22/09/2009

Segnala al moderatore
Postato alle 10:25
Sabato, 31/07/2010
Ok grazie a tutti ho risolto: ip.php:
Codice sorgente - presumibilmente Php

  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $file = fopen("ip.txt", "r") or exit("Errore nell' apertura del file con la lista dei ban!");
  4. while(!feof($file))
  5.   {
  6.   $ban = fgets($file);
  7.   if ($ban == $ip) {
  8.      Header("HTTP/1.1 301 Moved Permanently");
  9.      Header("http://Location: denisbenato.webmatrix01.cytanium.com/ipBan.html");
  10.     }
  11.   }
  12. fclose($file);
  13. Header("HTTP/1.1 301 Moved Permanently");
  14. Header("Location: http://denisbenato.webmatrix01.cytanium.com/index.html");
  15. ?>



ip.txt:
Codice sorgente - presumibilmente Plain Text

  1. xxx.xxx.xxx.xxx



ipBan.php:
Codice sorgente - presumibilmente PHP

  1. <html>
  2.   <head>
  3.       <title>Sei stato bannato!</title>
  4.   </head>
  5.   <body>
  6.       <p>Il tuo indirizzo ip non è abilitato alla navigazione nel sito!</p>
  7.   </body>
  8.  </html>


PM Quote