function sendpacket($packet) { global $proxy, $host, $port, $html; if ($proxy == '') { $ock = fsockopen(gethostbyname($host), $port); if (!$ock) { echo 'No response from ' . htmlentities($host) . '...'; die; } } else { $proxy = trim($proxy); $parts = explode(':', $proxy); if (!valid_ipv4($parts[0])) { echo htmlentities($proxy) . ' -> not a valid proxy...'; die; } if (intval($parts[1]) <= 0) { echo htmlentities($proxy) . ' -> not a valid proxy...'; die; } echo 'Connecting to ' . $parts[0] . ':' . $parts[1] . ' proxy...<br>'; $ock = fsockopen($parts[0], $parts[1]); if (!$ock) { echo 'No response from proxy...'; die; } } fputs($ock, $packet); if ($proxy == '') { $html = ''; while (!feof($ock)) { $html .= fgets($ock); } } else { $html = ''; while (!feof($ock) or !eregi(chr(0xd) . chr(0xa) . chr(0xd) . chr(0xa), $html)) { $html .= fread($ock, 1); } } fclose($ock); echo nl2br(htmlentities($html)); }
[expect php] [file] <?php function valid_ipv4($ip_addr) { $num = "([0-9]|^1?\\d\\d\$|2[0-4]\\d|25[0-5])"; if (preg_match("/{$num}\\.{$num}\\.{$num}\\.{$num}/", $ip_addr, $matches)) { return $matches[0]; } else { return false; } } var_dump(valid_ipv4("241.25.16.22")); var_dump(valid_ipv4("256.41.15.11")); ?>