- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Да без разницы. Cамая экстремально быстрая реализация на php должна просто иметь линейный файл с записями достаточно крупными по /22, то есть по 1024 IP. Одного байта хватит на номер страны, значит файл 2^32/1024= 4194304 байт.
Одно позиционирование и считывание одного байта - вот и весь поиск :)
Хотя стоит проверить эту идею. Может быть найдутся неправильные страны.
Одного байта хватит на номер страны, значит файл 2^32/1024= 4194304 байт.
увы тут до 1го байта на ип надо дробить, страны да, херовые попадаются ... мне даже примеры ктото приводил, прошлая реализация моя так и работала) по 256 ипов только были диапазоны
bearman, ну вот прошлая была еще быстрее ? даже по 256 штук для php-реализации это выгоднее, чем любой другой метод. 16 мб это мелочь, а не файл.
а что если каждый блок "округлить" по превалирующей стране? в целях защиты от ддос, например, высокая точность не нужна.
а что если каждый блок "округлить" по превалирующей стране?
можно, почему нет то)
я на данный момент на этом остановлюсЬ, в след раз сделаю city базу, когда будет след раз - хз))
у меня прошлая версия это и делала, базу билдила с ripn.net, но мне много человек засрали их базу сославшись на максмайнд мол у них лучше, поэтому и занялся вопросом снова
bearman добавил 30.04.2010 в 05:32
жаль базу я затер ... проверил бы разницу в скорости)
bearman добавил 30.04.2010 в 05:39
ну вот прошлая была еще быстрее ?
незаметил вопрос, да, быстрее.
нашел кстати в архивах базу и файлы, сейчас проверю разницу)
не, с city и org такая халява уже не прокатит.
10000 ips for 0.0737130641937 seconds.<br/>1 ip for 0.000007
ну вот, чтото такое)
bearman добавил 30.04.2010 в 05:43
с city и org такая халява уже не прокатит.
будет время, посмотрю)) интересная "область", а то ДЛЕ, ворпрессы и тп... тошнит :)
bearman добавил 30.04.2010 в 05:45
{
$ip = substr($ip,0,strrpos($ip,".")+1)."0";
$ip = ip2long($ip);
$offset = sprintf("%u",$ip) / 256;
fseek($this->fh,$offset);
$ips = fread($this->fh,1);
return ord($ips);
}
вда .. ну и код, можно проще)
bearman добавил 30.04.2010 в 05:52
debian:~/mygeo#
причесал )))
{
$offset = floor(ip2long($ip) / 256);
fseek($this->fh,$offset);
return ord(fread($this->fh,1));
}