Here is the background:
I am trying to block out a pair of IP hosts because of a problem member that seems to be able to get new IPs each time they dial in... I have figured out the code to get the IP and resolve the HOST. I ave learned that even the host will have multiple proxy versions like as fllows:
cache-rtc-aa10.proxy.aol.com
cache-rtc-ad04.proxy.aol.com
cache-ntc-ad10.proxy.aol.com
cache-ntc-ad06.proxy.aol.com
So, I have programed a preg_match to block "proxy.aol.com"
I need to be able to look for partial text matches inside a longer string and I know how to do this without using a variable for the code I am trying to match as follows:
PHP Code:
if (preg_match ("/proxy.aol.com/i", $host)) {eval(standard_error(fetch_error('problem_ip_address')));}
Well, the code above worked but my stalker decided to go out and get additional internet accounts so theycan log in... WHAT A PITA!
So, I tried to update my IP blocking scrpt (See:
https://vborg.vbsupport.ru/showthread.php?t=127288) so that I can create a list of IP Hosts and block by those... Well, I discovered last night that my code does not work and I need some expert help finding a solution.
Here is the code I use to pull the array of HOSTS that should be blocked and compare it to the $host of the person that tripped the script:
PHP Code:
$blocked_hosts = explode("\n", $vbulletin->options['ip_noview_host']);
$count = count($blocked_hosts);
for($i=0; $i<=($count-1); $i++)
{
if ($blocked_hosts[$i]){
if (preg_match ("/$blocked_hosts[$i]/i", $host)) {eval(standard_error(fetch_error('problem_ip_address')));}
}
}
I know that my array works and that the loop works properly to cycle through the values in the array and none are missed.
My problem is I can not find a reference on how I can include a variable inside the match term and use it in a conditional like this (RE the $blocked_hosts[$i])
I need to update my hack as I know this is not working and to fix this for my own problem guest I just have multiple "pre-matches" with each of the hosts I need to lock out listed in a series but this is not user friendly for non-coders...
I really need some help or an alternate way to address this problem...
Thanks!