input type=file спамят

Василий М.

Новичок
в шаблоне:
PHP:
<form target="iframe" action="/thumbnail/thumbnail/" enctype="multipart/form-data" method="post">
<input id="file" type="file" onchange="thumbnail_upload(this)" name="file">
<!-- кнопки submit нет -->
</form>
в js:
Код:
function thumbnail_upload(_this){
     //...
     _this.form.submit();
}
За день от 40 до 80 картинок не привязанных к сущностям (поле advert_id в NULL). Сначала думал косяки в программировании, потом понял, что спамят - картинку загружают, а капчу обойти не могут. Пришлось даже cron обработчик написать, который удаляет их.

Одного понять не могу - как роботы инициализируют загрузку? они js понимают?

Как защититься от этого?
 
Последнее редактирование:

Yoskaldyr

"Спамер"
Партнер клуба
полная генерация html-кода формы немного защищает от спамеров (и то не всегда), но в данном случае, когда вся форма сразу есть на странице, а только сабмит через js, это понимают все спам программы.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
А, ну в твоем случае то не нужна поддержка js же, достаточно распарсить форму и отправить пост запрос же
 

Василий М.

Новичок
Грузить картинку после прохода каптчи.
нет, это прошлый век
Или автоматом удалять картинки без advert_id при каждой загрузке новой картинки.
каждые 6 часов удаляю сейчас... мне не нравится что автоинкремент бесполезно растет у таблицы с картинками.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Сделай обязательный токен, добавляй в форму, а то и грузи его аяксом. От бота, нацеленного конкретно на тебя - не поможет, но от автоматов скорее всего - вполне.
 

fixxxer

К.О.
Партнер клуба
токен аяксом в урл пихать и рубить nginx-ом через secure_link - тогда до тела запроса даже дело не дойдет ;)
 
  • Like
Реакции: AmdY

fixxxer

К.О.
Партнер клуба
как роботы инициализируют загрузку? они js понимают?
зачем?

PHP:
<form target="iframe" action="/thumbnail/thumbnail/" enctype="multipart/form-data" method="post">
<input id="file" type="file" onchange="thumbnail_upload(this)" name="file">
<!-- кнопки submit нет -->
</form>
input type=file есть, form action есть, что еще надо?
 

AmdY

Пью пиво
Команда форума
Нет, наверное это наш забавный пхп гуру, а то что-то он активность свою прекратил. Мы его даже обижать перестали к тому моменту.
 

Василий М.

Новичок
вчера до 4 ночи выкатывал новую ветку и правил баги.
вот это НЕ ПОМОГЛО:
PHP:
function thumbnail_upload(_this)
{
_this.form.action = "/thumbnail/thumbnail/";
//...
 
Сверху