Ссылки
Поиск
Новости, Статьи |
Форум |
Файлы |
Привет, Гость
Обновления на форуме
Гадания на таро 0 >> |
Блок новостей в виде блога 1 >> |
Игры для сайта 34 >> |
Сервис создания тестов 94 >> |
Дед 1 >> |
Последние статьи
Сайт для фирмы-изготовителя натяжных потолков 0 |
Антиспам «Я не робот» 0 |
За что воюет Украина и когда всё это кончится 12 |
Удаление родителя текущего элемента на jQuery 0 |
Простой аккордеон на jQuery №3 0 |
Сексом сыт, конечно, не будешь! Но и борщом, увы, не натрахаешься...
Разделы → Архивы → ReloadCMS → Добавлена защита файлов при чтении.
Добавлена защита файлов при чтении. На этом сайте проводится эксперимент с защитой от обнуления файлов при большой нагрузке, без использования MySQL. Сегодня какой-то сканер опять прошёлся по моему сайту, что привело к обнулению счётчика. Я намеренно не хотел добавлять защиту файла при чтении, см. предыдущую статью по этой теме. Хотел посмотреть, что получится без этого. Сам такой нагрузки на сервер я создать не мог - не обладаю компьютерами-зомби, могущими атаковать с разных IP. И вот случилось - "добрые" люди (точнее, роботы) помогли протестировать. Счётчик опять обнулился менее 2 часов назад. В этой ситуации осталась ещё одна возможность - добавить дополнительную защиту в ./modules/engine/statistic.php - защиту файла при чтении. function statistic_register(): Было: Цитата: if(is_file(DATA_PATH . 'stats.dat')) { Стало:$stats = @file(DATA_PATH . 'stats.dat'); $stats = @unserialize($stats[0]); } Цитата: if(is_file(DATA_PATH . 'stats.dat')) { Здесь: function statistic_register.15 - функция+номер строки, вызвавшей ошибку в функции, чтоб легче искать где.$fp=fopen(DATA_PATH . 'stats.dat',"r"); // добавил открытие if (flock($fp, LOCK_SH)) { //запирание общее - Den1xxx! $stats = @file(DATA_PATH . 'stats.dat'); $stats = @unserialize($stats[0]); flock($fp, LOCK_UN);} // отпереть else trigger_error(__('Error occured').': function statistic_register.15: ' .$fp,E_USER_ERROR); fclose($fp); //закрыть } Посмотрим теперь, кто кого - я или роботы. Если и этот метод провалится, то последняя возможность не использовать MySQL - разбить файл stats.dat на части. Чего хотелось бы пока избежать, точнее это делать всё равно придётся, для улучшения этой самой статистики, но лучше по плану - в марте следующего года. |
||
30.08.2010 15:32 | Автор/источник: Den1xxx |
Комментировать
Вы не залогинены! Регистрация
Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.