Pro_Lamer4e
Registered
добър ден, как мога да преработа този код за да работи и с ipv6, тъй като четох в нета но нещо не разбрах принципа на Ipv6
Реално проблема се показва тук в системата за бан на потребител
Код:
function validip($ip) {
if (!empty($ip) && $ip == long2ip(ip2long($ip)))
{
// reserved IANA IPv4 addresses
// http://www.iana.org/assignments/ipv4-address-space
$reserved_ips = array (
array('0.0.0.0','2.255.255.255'),
array('10.0.0.0','10.255.255.255'),
array('127.0.0.0','127.255.255.255'),
array('169.254.0.0','169.254.255.255'),
array('172.16.0.0','172.31.255.255'),
array('192.0.2.0','192.0.2.255'),
array('192.168.0.0','192.168.255.255'),
array('255.255.255.0','255.255.255.255')
);
foreach ($reserved_ips as $r) {
$min = ip2long($r[0]);
$max = ip2long($r[1]);
if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false;
}
return true;
}
else return false;
}
Код:
function getip() {
$ip = getenv('REMOTE_ADDR');
return $ip;
}
Реално проблема се показва тук в системата за бан на потребител
Код:
$ip = getip();
$userip = ip2long($ip);
if ($user_ipbans) {
$res = @sql_query("SELECT * FROM bans WHERE $userip >= 'ip' AND $userip <= 'ip' ") or sqlerror(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0) {
$comment = @mysql_fetch_assoc($res);
$comment = $comment["comment"];
include_once ("disabled.php");
die;
}
}