AUser0, что написано? Расширение мое собственное. Если я его распакую установлю из папки, то при закрытии браузера оно удаляется и потом надо заново ставить и так каждый раз неудобно. Поэтому и хочу чтобы при запуске браузера оно автоматом устанавливалось.
Проблема с xpi в том, что во первых, неподписанное расширение в обычный портативных фаерфоас не поставить, надо именно портативный фаерфркс Developed версии - фиг с ним, я такой тоже нашел. Вторая проблема в том, что если я меняю в архиве файл с настройками расширения (условный config.json)... изменения не подхватываются автоматом. Надо удалять и заново ставить расширение, чтобы увидеть изменения. С временными расширенииями из папки не так, если ты там поменял данные в файле, изменения доступны тут же, не надо даже ничего переустанавливать.
Константин Гусев, next работает опираясь на текущий уровень вложенности тегов, по идее. Надо переписать так. Сначала ищем все поля, что есть на странице, получаем массив. Далее перебираем массив в цикле, когда при переборе натыкаемся на текущий элемент, следующий элемент считаем тем полем, в который и надо переместить фокус.
Tdvist, не знаю, но если этот заголовок пройдет, запрос будет не валидным, так как в нем отсутствует разделитель, что используется в кодированном теле запроса.
Tdvist, это вряд ли. И еще непонятно, почему вы указываете заголовок: 'Content-Type': 'multipart/form-data'
Так делать не нужно, браузер сам пропишет этот заголовок, если передается корректный FormData. Дело в том, что именно в таком виде заголовка недостаточно, надо еще в нем же указать использованный разделитель - браузер это делает сам.
Если бы я все это на своем сервере делал, то никаких проблем, но мне надо коробочное решение подготовить для пользователя, чтобы он залил код в корень сайта и больше не парился. Парится над ошибками буду я)
Дмитрий, ну так против headless ничего не поможет, в принципе. От такого невозможно защитится, если у злоумышлиника есть деньги на прокси и есть ресурсы для запуска ручных браузеров.
Здесь разве какую-то систему аунтефикации прикручивать, например, по номеру телефона или через профили в соц. сетях. И то даже это не защита, было бы желание и это обходится.
Ипатьев, я не спорю, что обойти очень легко, но чтобы это сделать надо в принципе знать, что она есть. Никто не будет распутывать обфусцированный js код когда сервер отвечает успехом всегда, а структура запроса очевидна. Обычное вот такие тупые и дебильные защиты хорошо работают. По поводу времени... так и не надо брать время с компа клиента, брать время сервера как опору при вычислениях порядка аргументов.