Putosin totaalisesti ereg_replacesta.
?> merkkien jälkeen pitäisi saada tuo highlight_string
lisättyä $las = 1; alle. \ viivoja taitaa tulla enemmän
kuin tarpeeksi. Jos joku voisi autttaa, ei tarvi olla
ereg_replace jos sen saa jotenkin muuten helpommin.
<?php $file = file_get_contents(__file__); $php = ("<?php"); $jaa = explode($php, $file); $las = 1; ?> <?php echo 'ip = ',getenv('REMOTE_ADDR'),'1<br>'; echo 'host = ',gethostbyaddr(getenv('REMOTE_ADDR')),'<br>'; ?> <?php highlight_string($php.$jaa[$las = $las+2]); ?> <hr>
EDIT: selvennys, siis aina kun php koodi loppuu lisättäisiin
tuo highlight_string.
Mä putosin kokonaan mitä tän koodin pitäis tehä :) Haluat siis värittää highlight_string():llä <?php ja ?> väliset alueet tiedostosta? Missä täs on se eregi?
1. php voisi olla omassa tiedostossaan jos tuon highlight_stringin saisi
siihen mukaan. Nyt alkaa väsyttää niin että saat itse kokeilla.
http://62.44.216.148/url.php tossa näkyy miten se nyt toimii
eli joka php koodi näkyy sen alla.
Joku tällainen ja hirveesti \ viivoja. $las pitää kasvaa kuitenkin.
$file = ereg_replace("?>", "?><?php highlight_string($php.$jaa[$las = $las+2]); ?> ", $file);
<?php $file = file_get_contents(__file__); $php = ("<?php"); $jaa = explode($php, $file); $las = 1; ?> <?php echo 'ip = ',getenv('REMOTE_ADDR'),'1<br>'; echo 'host = ',gethostbyaddr(getenv('REMOTE_ADDR')),'<br>'; ?> <?php highlight_string($php.$jaa[$las = $las+2]); ?> <hr> <?php $email = "name@example.com"; $domain = strstr($email, "@"); echo $email,"<br>"; echo $domain,"<br>"; ?> <?php highlight_string($php.$jaa[$las = $las+2]); ?> <hr> <?php echo getcwd(),'<br>'; ?> <?php highlight_string($php.$jaa[$las = $las+2]); ?> <hr> <?php $dir = getcwd(); $part = explode('\\', $dir); $username = $part[2]; echo $username, '<br>'; ?> <?php highlight_string($php.$jaa[$las = $las+2]); ?> <hr> <?php $ip = gethostbyname('www.veijola.net'); echo $ip ,'<br>'; ?> <?php highlight_string($php.$jaa[$las = $las+2]); ?> <hr> <?php $services = array('http', 'ftp', 'ssh', 'telnet', 'imap', 'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www'); foreach ($services as $service) { $port = getservbyname($service, 'tcp'); echo $service . ": " . $port . "<br />\n"; } ?> <?php highlight_string($php.$jaa[$las = $las+2]); ?> <hr> <?php $info=$_SERVER['HTTP_USER_AGENT']; //napataan info muuttuilijaan echo "Info: $info<br>"; $j=strpos($info,"("); //mistä kohtaa sulkumerkeissä oleva juttu alkaa $mozillateksti_alusta=substr($info,0,$j-1); //ja... $infotaulu=substr($info,$j+1);//...lasketaan vähän leikkauskohtia $mozilla_yksityiskohdat=substr($infotaulu,strpos($infotaulu,")")+1); //leikataan pois lopussa oleva teksti $infotaulu=substr($infotaulu,0,strpos($infotaulu,")")); //silputaan lisää $infotaulu=explode(";",$infotaulu); //otetaan kaikki ominaisuudet erilleen if ($infotaulu[0]=="compatible") { //vain mozilla compatible eli ei mozilla $selain=$infotaulu[1]; $kayttojarjestelma=$infotaulu[2]; } else { //mozilla selain tms $selain="$mozillateksti_alusta ($mozilla_yksityiskohdat)"; $kayttojarjestelma = $infotaulu[2]; } echo "Selain: $selain<br>"; echo "Käyttis: $kayttojarjestelma<br>"; $remote=getenv("REMOTE_ADDR"); //haetaan ip... $forward=getenv("HTTP_X_FORWARDED_FOR"); //...ja lisää mozillateksti_alustaa if ($forward=="") $ip=$remote; else $ip="Välityspalvelimen $remote kautta $forward."; //jos on reititin niin pitää modata $yhteys = gethostbyaddr($remote); echo "IP: $ip<br>"; echo "Yhteys: $yhteys<br>"; ?> <?php highlight_string($php.$jaa[$las = $las+2]); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.