- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть скрипт который отправляет файл пользователя на сервер (картинку), рисует что-то на ней и возвращает ссылку на скачивание в браузер в виде JSON.
Задача в том, как правильно отдать этот файл юзеру, чтоб он смог забрать его только браузером, например чтоб никто не смог со своей странички отправить файл на мой скрипт который обрабатывает файл пользователя (картинку) и получить ссылку на скачивание и загрузить файл себе. Что можно придумать?
1. Проверять заголовки
2. Генерировать не прямую ссылку, а с ключом, где ключ - результат хеш-функции от браузера.
3. Отправлять ссылку на почту, с просьбой открыть ее в том браузере, в котором загружали картинку
4. Для пущей важности использовать localStorage
Что можно придумать?
Курить "антилич".
1. Проверять заголовки
их можно легко подделать
2. Генерировать не прямую ссылку, а с ключом, где ключ - результат хеш-функции от браузера.
вот тут немного по подробнее пожалуйста, я не пойму как сгенерить этот ключ
3. Отправлять ссылку на почту, с просьбой открыть ее в том браузере, в котором загружали картинку
не пойдет, т.к. это оч много действий для юзера, вместо этого как вариант капча пойдет...
4. Для пущей важности использовать localStorage
тоже не вариант, большое количество устаревших арбузеров теряем
капча и куки, не?
капча и куки, не?
капча да, но хотелось бы обойтись без нее
Задача в том, как правильно отдать этот файл юзеру, чтоб он смог забрать его только браузером, например чтоб никто не смог со своей странички отправить файл на мой скрипт который обрабатывает файл пользователя (картинку) и получить ссылку на скачивание и загрузить файл себе. Что можно придумать?
Подключите ajax - он запрещает кроссдоменные запросы.
После загрузки вашей формы в в браузер пользователя - по onLoad на сервер отправляется ajax-запрос. который генерит, например MD5( от текущего времени + IP пользователя).
Этот MD5 записывается в БД на сервере и ему ставится время жизни, допустим 3 часа. Устаревшие вычищать из таблицы по cron. Это не даст нагеренить правильных ответов для работы "левого скрипта".
Форма присылает на сервер файл и скрытое поле с ответом на этот ajax-запрос, поле сверяется с наличием в таблице. Если не совпало - пользователь левый, заново отправлять ему форму ввода файла.
Плюс - реферер проверяйте, браузеры сейчас не дают его подделать.
Теперь ссылка на файл выглядит следующим образом:
А при скачивании файла, проверяете, сходится ли [HASH] с хешем, который получается при использовании вашей хеш функции:
P.S. Все можно довесить еще дополнительными javascript-обработчиками, чтобы токен был максимально уникальным.
Про то, что любого пользователя можно очень точно идентифицировать - https://panopticlick.eff.org/
P.S.S. Зачем поддерживаете старые браузеры?