Всего 123 788 комментариев

Максим
11 января 2024, 19:08
0
Капчу поставил другую, на морде все отрабатывает отлично, без прохождения капчи форма не уходит, а через курл как шли письма — так и идут. Куда еще можно копать? Почему капча не работает на системном уровне? Где то может я какую то настройку упускаю?
Максим
11 января 2024, 14:47
0
Это все понятно, но поломанный ajaxform не мешает отправлять злоумышленнику отправлять курлом письма. Тут вопрос не в том, как пресекать действия с помощью рекапчи, а как запретить курлом отправлять письма напрямую через formit?
Наумов Алексей
11 января 2024, 14:13
0
ну смотри…
AjaxForm лишь прокидывает данные на FormIt.
Для того, чтобы это все работало — при рендере формы в сессию записываются $scriptPtoperties с которыми вызывался AjaxForm, эти данные записаны в сессии с ключем, который передается в af_action.

Получается, что в сессии эти данные есть по крайней мере она не пуста)

Потом FormIt вызывает хуки по очереди:
spam он там как-то email проверяет, у тебя в форме я каких-либо email не вижу, думаю что в итоге этот хук вообще ничего не делает у тебя;
— далее правильно вызывать recaptchav3, судя по логам он с ошибкой работает. Если посмотрим в код, то сообщение в логе «Failed to load Recaptcha class» означает и то, что хук вернет false. Все, FormIt должен прекратить обработку, до хука email, который отправит письмо, дело не дойдет.
Максим
11 января 2024, 13:24
0
Поменял местами, поставил хук капчи первым. С сайта форма отправляется (пишет все ок), на почту не приходят, в логах ошибка — httpdocs/core/cache/includes/elements/modsnippet/94.include.cache.php: 84) Failed to load Recaptcha class. Но скриптом через курл письма отлично приходят))) Капча не помогает защищаться от курла(
Наумов Алексей
11 января 2024, 13:18
0
хуки вызываются в порядке их указания:
&hooks=`spam,email,recaptchav3`
у вас значит проверка spam (не знаю, что там), далее отправляется письмо, далее проверка рекапчи… только смысл то её проверять, письмо уже отправлено.
Максим
11 января 2024, 13:17
0
Капча не появляется, так как скрипт не определяет, что визит подозрительный. Я если не вызываю сниппет на страницы, отправить курлом письмо все равно получается. Получается даже в том случае, когда на сайте не остается ни одной формы.
Максим
11 января 2024, 13:16
0
[[!AjaxForm?
&snippet=`FormIt`
&form=`tplCallbackForm`
&emailTpl=`tplCallbackMessage`
&hooks=`spam,email,recaptchav3`
&emailSubject=`Заказ обратного звонка с сайта [[++site_url]]`
&emailTo=`[[++ms2_email_manager]]`
&validate=`name:required,phone:required,email:blank`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено!`
]]
Наумов Алексей
11 января 2024, 13:15
0
Ну вот тут было бы логично добавить проверку isset или array_key_exists. это скорее косяк компонента.

github.com/GulomovCreative/FetchIt/blob/master/core/components/fetchit/model/fetchit.class.php#L79
Наумов Алексей
11 января 2024, 13:11
0
Покажите вызовы сниппета AjaxForm на вашем сайте. Отправить форму с сайта без заполнения капчи точно невозможно?
Konstantin
10 января 2024, 21:59
0
БОЛЬШОЕ СПАСИБО!
Павел Романов
10 января 2024, 12:36
1
+1
В колонке назовите это поле как-нибудь иначе:


В рендере используйте реальное имя.
Если pdoTools установлен и поле называется «project», то так:
Андрей Вечканов
10 января 2024, 09:09
0
Добрый день! скажите есть ли возможность вывести или забрать рейтинг из tv поля, мне нужно импортировать данные через ImportX
Konstantin
09 января 2024, 14:29
0
Здравствуйте! Подскажите как задать параметр выходного формата изображения? Пытаюсь добавить &f=jpeg но не реагирует
Артур Шевченко
08 января 2024, 17:18
0
Наверное надо сортировку в вывод добавить.
Сергей Карпович
08 января 2024, 16:39
0
Хз, но на другом сайте где стоит AjaxFormit + Formit там с disabled работает.
Артур Шевченко
08 января 2024, 16:32
0
Валидацией занимается FormIt, а мой компонент просто обёртка, такая же как AjaxForm, поэтому и там бы это не работало.
Сергей Карпович
08 января 2024, 16:23
0
Ну с AjaxFormit как раз с disabled работало, это позволяло в select показать подсказку, которую нельзя выбрать.

Поэтому тут бился в стену какое то время =)
Артур Шевченко
08 января 2024, 16:12
0
Из-за атрибута disabled и не работала, ведь значение с этим атрибутом не может быть выбрано, значит всегда выбрано другое значение, значит оно всегда есть, значит валидатор всегда возвращает true.