Joker-jar

Joker-jar
Рейтинг
171
Регистрация
26.08.2010

А у меня вот некоторые сомнения на счет "rand() в PHP это РАВНОМЕРНЫЙ генератор случайных чисел.". Думаю, эта равномерность может проявляться лишь в контексте одной сессии (читай, во время выполнения одного скрипта). Чтобы в разных сессиях это работало, интерпретатру пришлось бы где-то в постоянной памяти хранить, кому какие значения уже возвращались. Если мои размышления неверны, поправьте.

Хотя, видимо, LEOnidUKG что-то подобное и имел ввиду

Тут проблема в другом, что такое человек, как его определить?
ВОТ! Это значит нужна система, которая будет записывать IP пользователя или его куки и вносить туда какие баннеры были показаны.

Это называется нормальное распределение. Оно приемлимо работает при большом количестве "показов" (стремящимся к бесконечности). Не думаю, что такой вариант устраивает ТС.

Можно завязать на БД. Создать таблицу типа "id | код баннера | счетчик просмотров", при генерации страницы выводить баннер с наименьшим счетчиком, увеличивая при этом последний на единицу.

Если уже долбит по нестандартному порту, то, возможно это не обычный бот-простукивальщик всего подряд, а конкретный нацеленный интерес к вашему серверу

Может, из-за того, что квадратные скобки заменились движком форума на ***91; и ***93; соответственно?

В квадратных скобках перечислить символы. Допустим, на PHP:

$text = '#hello (w)orl%d';


echo preg_replace('/[\(\)#\*&%]/', '', $text);

Работоспособность не проверял, но, думаю, суть ясна. Не забываем экранировать спецсимволы.

Возможно, хостер может помочь снять образ системы. Потому что самому из под рабочей системы снять образ корня не получится

А если попробовать запустить в screen?

Вряд ли кто-то подскажет, т.к. неизвестно функционалом какого PHP-расширения скрипт работает с БД (mysql, mysqli, ...), используется ли для работы какой-то API-интерфейс (класс для работы с MySQL и т.п.) или нет. Возможно, вам поможет это:

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
if (!mysql_select_db('database_name')) {
die('Could not select database: ' . mysql_error());
}
$result = mysql_query('SELECT Count(*) FROM table');
if (!$result) {
die('Could not query:' . mysql_error());
}
echo mysql_result($result, 0, 0);

mysql_close($link);
?>

SQL-запросом из БД...

SELECT Count(*) FROM `table` WHERE ...

Всего: 970