Dmitry
Да, в хидер как options
Vladimir
форму надо формировать без csrf токена
Vladimir
потом надо проверять хотя бы разрешение экрана
Dmitry
КЕШ
Это вообще нафиг отрубать, у меня в NC всё динамическое))
Vladimir
кеш это норма
Dmitry
кеш это норма
Я про page cache
Dmitry
Ну как минимум голосовалка криво работает
Vladimir
Я про page cache
так игорь не говорит про page cache
Igor
По традиции Joomla странице к ключем и формой не кешируются.
Dmitry
View cache?
Igor
Но если это скажем модуль посреди материала, то полетит кеш.
Igor
да че-то в теории только
Ну.. кеш он такой.
Igor
Так что добавляя токен динмически убиваешь сразу 2-х зайцев. 1. Его не видно изначально. 2. Проблемы с кешем не будет даже в теории.
Vladimir
я так и сделал и опыт показал верность подхода
Artem
Такого достаточно? https://dev.to/felipperegazio/how-to-create-a-simple-honeypot-to-protect-your-web-forms-from-spammers--25n8
Это дефолтная защита от спама в модыксе. Нихрена не помогает!
Vladimir
у меня вопрос - $this->app->triggerEvent('onSendRadicalForm', array($input, $input["rfFormID"]));
Artem
Все равно распознает?
бот на ноде, с электороном вообще ничем от того же хрома не отличается. И внутри него работают все css-селекторы и полноценный js. Так что искать инпуты :visible вообще не проблема
Vladimir
а если $input["rfFormID"] не существует?
Vladimir
как правильно сделать?
Dmitry
Это допустимо?
Vladimir
А как это?
https://github.com/Delo-Design/radicalform/issues/31
Vladimir
идентификатор формы
Dmitry
Это допустимо архитектурно?
Vladimir
это как бы норма если его не будет
Vladimir
поэтому вопрос - может не передавать отдельно?
Dmitry
У тебя разве в коде нет на него завязки
Vladimir
форма может не иметь id
Dmitry
Ну тогда null надо хотя бы
Dmitry
А target?
Vladimir
то есть передаем null если что
Dmitry
Target тоже не обязательно же
Dmitry
Тоже null тогда
Vladimir
Target тоже не обязательно же
тоже не обязателен
Dmitry
Ну или инпут...
Dmitry
И всё... Но это такое, мне кажется не лучшее решение
Vladimir
Ну или инпут...
я вот и спрашиваю как корректно будет
Vladimir
ну так как лучше будет
Dmitry
Ты может выше по коду подмену айди в инпуте сделаешь или выкинешь его ансетом ))
Dmitry
Я бы input и target зафиксировал
Dmitry
В начале функции, например
Dmitry
Если их нет, то null им
Artem
а если $input["rfFormID"] не существует?
$rfFormId = empty($input['rfFormID']) ? '' : $input['rfFormID'];?
Dmitry
Неправильно...
Vladimir
$rfFormId = empty($input['rfFormID']) ? '' : $input['rfFormID'];?
так вот я и спрашиваю как корректно поступить
Dmitry
id же нет по сути
Dmitry
Null правильно
Artem
Dmitry
Все помнят мем про туалетную бумагу?)
Vladimir
не epmty
Dmitry
Эмпти на пусто даст тру
Artem
тут правильно isset
Ну если null, то isset, чтоб разрешить передачу пустой строки
Vladimir
Эмпти на пусто даст тру
empty на отсутствие даст warning
Artem
в этом его прелесть
Vladimir
нет
у меня были
Dmitry
Artem
вот !$var даст предупреждение, а empty, в том числе, проверяет isset
Dmitry
Но на пусто или 0 даст тру
Dmitry
Я тут недавно сам собаку на этом съел, слишком привык эмпти пихать ))
Vladimir
Но на пусто или 0 даст тру
тогда наоборот надо сттавить empty
Dmitry
В итоге на пусто мне тру /)
Vladimir
у меня по логике надо отсутствие делать как null
Dmitry
Эмпти всё покроет
Vladimir
некоторые могут поставить id=""
Dmitry
Только вот id=0
Vladimir
такое вполне может быть