Вот это как запускаете? просто php 111.php ?
Попробуйте запустить как /usr/bin/nohup php 111.php >/tmp/111.log 2>&1 &
Не вижу в вашем коде ничего криминального. Дескрипторы file_put_contents должны закрываться, т.е. в количество открытых файлов это не упирается. Попробуйте через nohup, так как у вас может рваться контекст с консолью при открытом демоне. Поток переведет /tmp/111.log в том числе и ошибки. Если и это дропнет, то значит хостинг.
Vitaly2012, вам скинули на php, в SSH на windows https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Встречал как-то я систему, в ней значит совсем все было в mysql. Шаблоны, какие-то непонятные вставки на PHP, ну и само собой роутинг и контент.
Вес этих самых баз измерялся 10-ками гагабайт для одного сайта. Как вам такое? и тратились на эти костыли 50 - рабочих джунерских рук, чтоб какую-то правку сделать, джун городил новый костыль в очередной 100-той таблице рабочего сайта. Все это коммитилось папашкой, который и городил и только ему было все это понятно.
А теперь к вопросу. В первую очередь нужно делать так и придерживаться того, чтобы большей доброй половине ваш код был понятен. Ваша логика понималась любым человеком со стороны. В противном случае это мёртвый код, который понесет огромные затраты на его поддержку.
CMS пихают роутинг в базу, так что в этом нет чего-то особенного. Но я так понял вы хотите плодить таблицы от глубины. С точки зрения скорости работы это отрицательная часть само собой. Да и при большом кол-ве этих самых модулей, как я понимаю, там будет такая запутанность, что придется городить некий справочник.
Осуждаю! "работа с БД во фронте" не догоняю что вы хотите делать, но еще раз, лучше придерживаться V - шаблоны и только отображение, M - основные функции, все что там у вас выполняется, зависимости и прочее, работа с базой данных, C - прослойка между MV где есть логическая часть Route, прием данных и передача результатов.
Не знаю, что вы хотели тут услышать. Рекомендую Laravel 7, я его обожаю, это просто. Если конечно PHP. Там же роутинг посмотрите, я так понимаю вашу логику можно с коробки сделать.
lonelywoolf, Ты откуда такой взялся? Матчасть иди изучай, неуч. Вопрос про игровой сайтик или про энтерпрайз какой-то. Автор точно высказал свою идею, а ты про забивание канала. Поможет ли реализация такой идеи - да, поможет. От школоты отбиться поможет.
Лелуш Ламперуж, одно дело, когда забивается канал запросами, а другое дело, когда сайт падает от 500 асинхронных запросов к части, где делается запрос к базе данных. Это может делаться всего одной машиной. В большинстве случаев атаки не носят характер забить канал, а пробивают по уязвимым программным частям. Спор бессмысленный. Из говна и веток не создать само собой защиты на переполнение канала. Нужна инфраструктура.
Если надо держать нормальную нагрузку, то AWS Shield + Elastic Load Balancing. Например.
Снимите с этих файлов права на чтение запись и выполнение :D
Оставьте как есть. Скорее всего это не даст в будущем копировать по данным именам.
chmod 000 1.configuration.php
chmod 000 1.index.php
В остальном, я не гадалка, что копирует ваши файлы. Вероятно у вас joomla обновляется, стало быть поискать как выключить эти самые обновления. Выше дали годный вариант, написать скрипт проверки и переименования этих файлов в исходное состояние.
lonelywoolf, сейчас можно взять 20 гигабит за 30 баксов в месяц - 10 инстанцев, но это будет малое кол-во IP адресов. Если рассматривать хостинг, а не ботнеты и прочую чернуху.
Конечно, описанная схема имеет место быть. Даже реализуема bash скриптом.
Из альтернатив, например по кол-ву соединений. Пермач. Получим список IP и количество соединений netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c
закинем в блеклист каждый удовлетворяющий условию >32 соединений и не ваши IP
iptables -I INPUT -s 55.55.55.55 -j DROP
Или вариант сразу ограничить кол-во соединений на IP
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 32 -j DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m connlimit --connlimit-above 32 -j DROP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -m connlimit --connlimit-above 32 -j DROP
iptables -A INPUT -p udp --dport 53 -j ACCEPT
Vitaly2012, что значит с любого адреса? верно ли я понимаю, что это то что вам нужно, целиком блокирует все хосты *bc.googleusercontent.com или совсем все запросы на сайт, в том числе и от обычных пользователей.
Хосты bc.googleusercontent.com только за подгрузку контента таким образом и отвечают. Вы замучаетесь обновлять эти списки хостов руками.
Вариант обратить внимание как это форматируется в wikipedia. Обычно там все информативно. И делать по таким шаблонам.
Могут забанить целиком акк просто так. За то что создашь рекламную кампанию и даже не запустишь ее, просто сохранишь. И если в заголовке будет упоминание яндекс например, то могут сразу же забанить. Было такое. Без апелляции.
Так что могут и по Adsense сразу же отправить.
LEOnidUKG,
я с документации брал, есть еще
https://httpd.apache.org/docs/2.4/howto/access.html
http://manuales.guebs.com/apache-2.0/mod/mod_access.html
вроде документация это предусматривает, хотя я не настраивал фапач уже лет 8.
# Apache 2.2
Order Allow,Deny
Allow from all
Deny from bc.googleusercontent.com
# Apache 2.4+
<RequireAll>
Require all granted
Require not host bc.googleusercontent.com
</RequireAll>