connect('localhost', 11211) or die ("Could not connect"); // セッションキー生成 $key=md5(uniqid(rand(), true).$ip.time()); // セッションキーのデータ生成 $value="UserName=".$userName."\r\n"; $value.="RemoteIP=".$ip."\r\n"; // store value for the key in memcache deamon $memcache->set($key,$value,false,$expiry); // set cookie session setcookie("AuthSessionKey",$key,0,"/aipo","(ドメイン名)",true); header("location: https://(ドメイン名)/aipo/"); exit; function validip($ip) { if (!empty($ip) && ip2long($ip)!=-1) { $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; } return false; } function getip() { if (validip($_SERVER["HTTP_CLIENT_IP"])) { return $_SERVER["HTTP_CLIENT_IP"]; } if (validip($_SERVER["HTTP_FORWARDED_FOR"])) { return $_SERVER["HTTP_FORWARDED_FOR"]; } elseif (validip($_SERVER["HTTP_FORWARDED"])) { return $_SERVER["HTTP_FORWARDED"]; } return $_SERVER["REMOTE_ADDR"]; } ?>