Kabak |
|
---|---|
Fatal error: Uncaught Error: Call to undefined function cot_stat_inc() in /var/www/apcfix/system/functions.php:5257 Stack trace: #0 /var/www/apcfix/system/common.php(560): cot_shield_hammer() #1 /var/www/apcfix/index.php(94): require_once('...') #2 {main} thrown in /var/www/apcfix/system/functions.php on line 5257
Не могу зайти на сайт с конкретного IP
Как лечить ?
Могу зайти через VPN. очистил кэш, но не помогло... не пускает, подлец Добавлено 9 минут спустя: пришлось брутально отключить строку в functions.php 5257 cot_plugin_active('hits') && cot_stat_inc('totalantihammer'); пустил на сайт , зашёл , почислил кэш и восстановил строку.
А всё из-за того, что проверял работу плагина и быстро обновлял страницу |
|
This post was edited by Kabak (2023-06-08 07:53, 1 year ago) |
webitproff |
|
---|---|
вот мзфк )) аккаунт удален - не срослось с разработчиками
ушел на другой движок |
Dayver |
|
---|---|
#46863 Kabak: Все равно такая сработка защиты против хаммеринга не является корректной. А решить лучше не комментированием строки а добавлением такой проверки if (function_exists('cot_stat_inc')) cot_stat_inc('totalantihammer'); На первый взгляд это встроенный баг потому создал заявку согласно вашему репорту
Pavlo Tkachenko aka Dayver
|
Kabak |
|
---|---|
А сколько мне пришлось бы ждать чтобы движок позволил мне войти с того IP ? Где прочитать про эту защиту ? Благодарю. |
Dayver |
|
---|---|
#46891 Kabak: Такой документации увы никогда не было. Хотя сама защита еще была когда Cotonti был Seditio а может даже и LDU - не помню давно это было но тогда защита был а запросов на её документирование не было А время ожидания зависит от настроек в панели администрирования Управление сайтом / Конфигурация / Безопасность Pavlo Tkachenko aka Dayver
|
Kabak |
|
---|---|
там противоречивые данные непонятно, указывается количество хитов после которого пользователя блокирует ( на непонятный срок ) или это время в непонятных единицах на которое блокируется пользователь. |
|
This post was edited by Kabak (2023-06-10 20:17, 1 year ago) |
Kopusha |
|
---|---|
в непонятных единицах на которое блокируется пользователь. 25 это в вьебитпроффах |
Kabak |
|
---|---|
немного юмора |
Alex300 |
|
---|---|
Исправлено этим коммитом. Можно скачать обновленный functions.php из репозитория. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ |
Kabak |
|
---|---|
if (!function_exists('strptime')) { /** * strptime() for Windows * @author ex/yks toolkit * @license MIT * @param string $date * @param string $format * @return boolean * * @deprecated This function has been DEPRECATED as of PHP 8.1.0. Relying on this function is highly discouraged. */ function strptime($date, $format) { $masks = array( '%d' => '(?P<d>[0-9]{2})', '%m' => '(?P<m>[0-9]{2})', '%Y' => '(?P<Y>[0-9]{4})', '%H' => '(?P<H>[0-9]{2})', '%M' => '(?P<M>[0-9]{2})', '%S' => '(?P<S>[0-9]{2})' ); $rexep = "#" . strtr(preg_quote($format), $masks) . "#"; if (!preg_match($rexep, $date, $out)) return false; $ret = array( "tm_sec" => (int) $out['S'], "tm_min" => (int) $out['M'], "tm_hour" => (int) $out['H'], "tm_mday" => (int) $out['d'], "tm_mon" => $out['m'] ? $out['m'] - 1 : 0, "tm_year" => $out['Y'] > 1900 ? $out['Y'] - 1900 : 0, ); return $ret; } } можете пояснить про этот код в functions.php ? он в какой функции или он всегда отрабатывает ? |
Kopusha |
|
---|---|
Если у вас нет функции strptime (насколько я понимаю она есть в базовых поставках php как минимум для линукса) код ниже пытается разобрать переданное ему время $date в переданном формате $format. $dateString = "12-06-2023 10:30:45"; $formatString = "%d-%m-%Y %H:%M:%S"; $result = strptime($dateString, $formatString); if ($result !== false) { echo "Год: " . ($result['tm_year'] + 1900) . "<br>"; echo "Месяц: " . ($result['tm_mon'] + 1) . "<br>"; echo "День: " . $result['tm_mday'] . "<br>"; echo "Час: " . $result['tm_hour'] . "<br>"; echo "Минуты: " . $result['tm_min'] . "<br>"; echo "Секунды: " . $result['tm_sec'] . "<br>"; } else { echo "Ошибка."; }
Added 1 minute later: #46898 Kabak: Он и есть функция, отрабатывает там где вызывается функция strptime |
Kabak |
|
---|---|
Посмотрите functions.php новой редакции. PHP 8.1 ругается на любое упоминание в рнр функции strptime() по-моему это исправление с проверкой наличия функции strptime() не убирает сообщения PHP 8.1 о том, что функция depricated и этот if выполняется всегда когда грузится functions.php
Я чего-то не понимаю... и ваш ответ не понятен мне strptime() - функция РНР, а не Cotonti |
Kopusha |
|
---|---|
Если в РНР нет strptime то применяется из functions.php - это насколько я вижу. Насколько понятно по вашему сообщения - скорее всего у вас в PHP нет ее, наверное на 8.1 что то другое, я не могу проверить, я сижу на 7.3 и 7.4 все проекты. Added 39 seconds later: Подождем Alex))) |
Kabak |
|
---|---|
Вы же знаете РНР. Посмотрите functions.php , строка 3924
|
Kort |
|
---|---|
strftime -- стандартная функция php. Начиная с 8.1.0 считается устаревшей. Впилили ее в functions.php, видимо, из-за зависимости в cot_date2stamp()
SED.by - создание сайтов, разработка плагинов и тем для Котонти
|