Seriously urgently help needed.

Need urgent assistant here please.

I need to block an IP address which contains 213.136 (213.136.110.134) the first six digit from signing up my site because this user has been causing a nuisance, I blocked his IP adress but make not use because this user is not using static IP address.. but the first 6 digit is the same no change.


Can someone write me a simple script that if the remote ip contain the first 6 digit, that prevent it from proceed?

I just need something like:

if($REMOTE_ADDR=="213.136 //or how I don't know not"){

  echo "YOU ARE BLOCKED PERMANENTLY!";

}

Or someone have better ideals?



HELP please! My members are complaining.. thank you.


vince2874Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

lozlozCommented:
$addr = substr($_SERVER["REMOTE_ADDR"], 7);
if($addr == "213.136") {
  die("YOU ARE BLOCKED PERMANENTLY!");
}

i think

cheers,

loz
0
lozlozCommented:
$addr = substr($_ENV["REMOTE_ADDR"], 7);
if($addr == "213.136") {
  die("YOU ARE BLOCKED PERMANENTLY!");
}

that's the one
0
shmertCommented:
Keep in mind that this could very well block legitimate users also.  Those 6 digits encompass a large range of IP addresses.  Requiring some sort of email verification for logging in is a good way to prevent this kind of stuff from happening.  Sorry you're having this kind of trouble, sounds miserable.
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

vince2874Author Commented:
Hi.. I tried it blocking my own ip address, with the first 6 digits or the full ip address it cannot work, any helps?
0
vince2874Author Commented:
shmert,

yes... is really miserable having this kind of issues... I really don;t know what to do now..email verification also can't really help because they are using free email account from yahoo, hotmail..
0
vince2874Author Commented:
No choice for the time been I have to ban this range of users.. if not the issus cannot be controlled
0
lozlozCommented:
<?
$ip = getenv("REMOTE_ADDR");
$addr = substr($ip, 7);
if($addr == "213.136") {
  die("YOU ARE BLOCKED PERMANENTLY!");
}
?>

that should work
0
vince2874Author Commented:
lozloz,

is not working also. I still can access the page
0
lozlozCommented:
did you change the ip to your own?

do a test by simply doing

<?
$ip = getenv("REMOTE_ADDR");
print $ip;
?>

to see if your ip is being given.. if this bit works then the rest of it should do
0
lozlozCommented:
if not, try this:

<?
function GetIP()
{
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
            $ip = getenv("HTTP_CLIENT_IP");
        else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
            $ip = getenv("HTTP_X_FORWARDED_FOR");
        else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
            $ip = getenv("REMOTE_ADDR");
        else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
            $ip = $_SERVER['REMOTE_ADDR'];
        else
            $ip = "unknown";
    return($ip);
}/*-------GetIP()-------*/
$ip = GetIP();
$addr = substr($ip, 7);
if($addr == "213.136") {
  die("YOU ARE BLOCKED PERMANENTLY!");
}
print $ip;
?>
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
vince2874Author Commented:
I checked my own ip and I did not changed it.

Ok I tested the other code now give me a sec thanks
0
vince2874Author Commented:
strange why now I can't block my full ip address?

I tested with the print $ip adddress and do it this way

f($REMOTE_ADDR == "xxx.xxx.x.xx") {
die("YOU ARE BLOCKED PERMANENTLY!");
}

can't work also.. what went wrong?
0
vince2874Author Commented:
lozloz,

it works now, thanks for the help!
0
lozlozCommented:
i dont understand.. do you want to block your own ip address with my script? if you do, you want to get rid of the substr function which cuts it down to the first 6 digits so it should be:

$ip = GetIP();
$addr = $ip;
if($addr == "xxx.xxx.x.xx") {
  die("YOU ARE BLOCKED PERMANENTLY!");
}
print $ip;
0
vince2874Author Commented:
lozloz,

Thanks, your previous code works!
0
lozlozCommented:
no probs
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.