Ссылки
Поиск
Привет, Гость
Обновления на форуме
| Блок новостей в виде блога 2 >> |
| Игры для сайта 34 >> |
| Сервис создания тестов 94 >> |
| Дед 1 >> |
| На сайте регистрация пользователей спамом 3 >> |
Сексом сыт, конечно, не будешь! Но и борщом, увы, не натрахаешься...
Статьи → Архивы → 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 на части. Чего хотелось бы пока избежать, точнее это делать всё равно придётся, для улучшения этой самой статистики, но лучше по плану - в марте следующего года. |
| Дата 2010-08-30 16:32:27 |
Комментировать
Вы не залогинены!
Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.
