나는 내 웹 사이트에 폴링 시스템을 설치했다. 그러나 사람들이 다시 투표 할 수 없도록하기 위해, 나는 그들의 IP를 수집하고 그들이 다시 투표하지 않도록하는 메커니즘을 찾는 IP를 가지고 있습니다.PHP - strpos와 문자열 비교
내가하는 방식은 IP를 수집 한 다음 IP가있는 텍스트 파일과 비교하는 것입니다. 각 IP를 구분하는 쉼표가 있습니다.
function getUserIP()
{
//check ip from share internet
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
//to check ip is pass from proxy
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$visitorIp = getUserIP();
$myFile = "ip_polllist.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, 200);
fclose($fh);
$findme = $visitorIp.",";
$mystring = $theData;
echo $mystring;
echo $findme;
$pos = strpos($mystring, $findme);
if($pos === true)
{
die();
}
if($pos == true)
{
die();
}
코드에 어떤 문제가 있으며 왜 $pos = false
입니까?
출력 또는 오류 메시지가 있습니까? – ComFreek
없음 무엇이든지 ... 내가 mystring하고 findme 할 때 그들은 같은 결과를냅니다. –
당신은 "1 인당 1 표"를 제한하지 않습니다. 이것은 "회사/기관/사무실/inet 카페/이동 통신사/등 당 1 표"를 제한하는 것입니다. –