эм а разве без nginx нельзя ограничивать кол-во соединений с одного IP?
примерно так:
iptables -p tcp --dport 80 -m iplimit --iplimit-above 20 --iplimit-mask 24 -j REJECT
еще есть такой модуль помоему:
iptables -I INPUT 1 -p tcp --dport 80 -m string --string «GET / HTTP/1.0» --algo kmp -j DROP
:)) да согласен rand там вообще неподходит. но тогда можно сделать так первый поток выберает заиси 1 ,101,201… второй поток 2,102,202… 99-й 99,199,299 тогда точно никаких блокировок ненужно.
я бы сделал примерно так
for($treadnum=1;$treadnum<=100;$treadnum++) {
exec ('php tread.php '.$treadnum)
}
а в tread.php
$num=(mt_rand(1,72000000)%$argv[1]);
SELECT id, url WHERE status='еще не были' AND id=$num;
тоже часто приходится чистить сайты от троянских iframе-ов
типа ( <script...>..ndfc() {.... ),
мой вариант делает почти тоже самое, находит и удаляет строчку ndfc() плюс еще 6 строк ниже:
find ./ -type f -print0 | xargs -0 -I'{}' sed -i '/ndfc()/,+6 d' '{}'
local6.info -/var/log/dhcpd.log
— эта строчка отключает лог dhcpd?примерно так:
iptables -p tcp --dport 80 -m iplimit --iplimit-above 20 --iplimit-mask 24 -j REJECT
еще есть такой модуль помоему:
iptables -I INPUT 1 -p tcp --dport 80 -m string --string «GET / HTTP/1.0» --algo kmp -j DROP
$treadnum=$argv[1];
for($num=$treadnum;$num<720000,$num+=100) {
SELECT id, url WHERE id=$num;
}
$treadnum=$argv[1];
while(1) {
$num=mt_rand(1,72000000);
// %100 = кол. тредов
if( (($num+$treadnum)%100)==0 ) {
SELECT id, url WHERE id=$num;
if(status='еще не были') {.......}
}
usleep(x);
}
for($treadnum=1;$treadnum<=100;$treadnum++) {
exec ('php tread.php '.$treadnum)
}
а в tread.php
$num=(mt_rand(1,72000000)%$argv[1]);
SELECT id, url WHERE status='еще не были' AND id=$num;
типа ( <script...>..ndfc() {.... ),
мой вариант делает почти тоже самое, находит и удаляет строчку ndfc() плюс еще 6 строк ниже:
find ./ -type f -print0 | xargs -0 -I'{}' sed -i '/ndfc()/,+6 d' '{}'