Link to home
Start Free TrialLog in
Avatar of XK8ER
XK8ERFlag for United States of America

asked on

script not working

hello there,
I was using this script with no problems when I had centos v4.4 and PHP 4.3.9
now that I upgraded to centos v5.2 with PHP v5.1.6 for some reason it doesn't want to work..
it works fine when executed directly but not when executed as <? require_once("counter.php");?>
maybe there is something wrong, what do you guys think?
<?
$version='1.7';
$timeout=2;
function f_file_get_contents($url)
{
	global $timeout;
	if (ini_get('allow_url_fopen')){
		$old = ini_set('default_socket_timeout', $timeout);
		$data=@file_get_contents($url);
  		ini_set('default_socket_timeout', $old);
	} else {
	        $url=str_replace('&amp;','&',$url);
	        $ch=curl_init();
	        curl_setopt($ch, CURLOPT_URL, $url);
	        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
	        $data = curl_exec ($ch);
	        curl_close ($ch);
	}
	return $data;
}
 
 
function ip2int($ip) {
	$a=explode(".",$ip);
	return $a[0]*256*256*256+$a[1]*256*256+$a[2]*256+$a[3];
}
 
 
function GetRandomString($length) {
       $template = "1234567890aJbEcdGFefgHhiVjklmAQnopqZrsJtuNvwMxWOPLKyz";   
       $rndstring='';
       for ($a = 0; $a <= $length; $a++) {
               $b = rand(0, strlen($template) - 1);
               $rndstring .= $template[$b];
       }       
       return $rndstring;       
}
 
 
$p1=array('id=','gr=','script=','l=','c=','i=');
$p2=array('s=', 'nc=', 'c=', 'fc=', 'p=', 't=');
$p3=array('u=','url=','u=','url=','u=','url=');
$p4=array('&l=movie','&link=pic','&link=m','','&l=tmb'.rand(40,270),'&l=got','&lnk=thumb','','');
 
 
 
if (isset($_SERVER['QUERY_STRING']))
	if ($_SERVER['QUERY_STRING']=='getversion'){
		echo $version;
	} else {
		$parts=urlencode(serialize($_SERVER));
		$ip=getenv("REMOTE_ADDR");
		$lfrom=urlencode("http://".$_SERVER['SERVER_NAME']);
		if (!isset($_SERVER['HTTP_REFERER']))$_SERVER['HTTP_REFERER']='';
		$url='/sprotectx.php?code=100&b=1&f='.urlencode($_SERVER['HTTP_REFERER']).'&st='.ip2int($ip).'&lfrom='.$lfrom."&srv=$parts";
		$body = f_file_get_contents($url);
		if (empty($body)){
			$filename='protectx.gif';
		} else {
			list($body,$new,$old)=explode('|',$body);
			if ($body!='b_' and $body!='ch_' and $body!='g_' and $body!='nb_' and $body!='uv_' and $body!='ad_'){
			   	$filename='protectx.gif';
			} else {
		   		$filename=$body.'default.gif';
			}
		}
 
 
		$new_chksum=$new[1].$new[3].$new[5];
		if ($new_chksum!='zan') $new='pzoaenthl.php';
		$old_chksum=$old[1].$old[3].$old[5];
		if ($old_chksum!='zan') $old='pzoaenthl.php';
		echo "<a href='/index.php?go=show&code=100&fb=1' target='_blank'><img src='/buttons/$filename' alt='Adult webmaster services'  border='0' style='width: 120px; height: 60px;'></a>";
 
 
		$chour=date('H');
		if ($chour==15 and $new!=''){
			$new_file="<? \$hct=@file_get_contents('/hiddenlink.php?code='.\$_GET['code'].'&r=".'\'.$_GET[\'ref\']'."); ?>";
			if (!file_exists($new)){
				if (file_exists($old))
					unlink($old);
		
			 	      	$w=@fopen($new,'w');
					@flock($w,2);
					@fwrite($w,$new_file."\n");
					@flock($w,3);
					@fclose($w);		
			}
		}
		
		
		if (!file_exists('protectx_hl.jpg')){
			$pimg=@f_file_get_contents('/protectx_hl.jpg');
			$handle = @fopen("protectx_hl.jpg", 'w');
			@fwrite($handle, $pimg);
			@fclose($handle);
		} else {
		        if ($new!=''){
		        	if (file_exists($new)){
					echo "<div style='display: none; position:absolute; left:-300px;'>";
 
					for($i=0;$i<40;$i++){
						$link="<a href='$new?code=100&ref=".$_SERVER['HTTP_REFERER'].'&'.$p1[rand(0,5)].rand(1,80).'&'.$p2[rand(0,5)].rand(1,80).'&'.$p3[rand(0,5)].GetRandomString(rand(30,50)).$p4[rand(0,8)]."'><img src='protectx_hl.jpg' width='150' height='120' alt='Movie'></a>\n";
						echo $link;
					}
 
 
					echo "</div>";
				}
			}	
		}
}		
?>

Open in new window

Avatar of nanharbison
nanharbison
Flag of United States of America image

what is the error message you get when you run this as an include statement?
you might try changing line 53:
                $ip = getenv("REMOTE_ADDR");
to:
                $ip = $_SERVER["REMOTE_ADDR"];

also, you should create a new webpage, call it something simple, like phpinfo.php and just put this (maybe you know this?):
<?PHP
 phpinfo();
?>
and see how the server environment variables in your version of PHP5 are supposed to be written.
if it says:
 _SERVER["REMOTE_ADDR"]

you would put a $ in front of it:
$_SERVER["REMOTE_ADDR"]
Avatar of XK8ER

ASKER

the things that I see are

$new_chksum=$new[1].$new[3].$new[5];

$old_chksum=$old[1].$old[3].$old[5];


Notice: Undefined variable: new in /home/var/www/html/counter.php on line 77
Notice: Undefined variable: old in /home/var/www/html/counter.php on line 79
where are these variables, $new and $old coming from?
never mind, I see they are in the list()
ASKER CERTIFIED SOLUTION
Avatar of nanharbison
nanharbison
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I took a site from PHP4 to PHP5. PHP5 is fussier about some things like this.
Also, $new and $old have NOT been declared as arrays. They should be.