• Здравствуйте!
    Помогите пожалуйста новичку с вопросом безопасности размещаемых на хостинге данных.

    Мой интернет-магазмин будет предлагать информационный продукт (тексты в pdf файлах).

    Идея работы магазина простейшая:
    клиент кликает на кнопку-ссылку купить около описания товара > переходит на сайт платежной системы > оплачивает > платежная система перекидывает его на страницу получения платежа, где в зависимости от выбранного товара (платежная система возвращает то или иное значение — код товара) генерируется ссылка на тот или иной файл pdf.

    Соответственно продаваемые pdf-файлы тоже будут размещены на хостинге. Как сделать так, чтобы выйти на них можно было только по прямой ссылке (кнопка «скачать файл» на сгенерированной в конце процедуры оплаты странице), а любым другим способом добраться до них было бы невозможно?

    Я так понимаю, что нужно запретить индексирование через robots.txt? Но кажется только этого мало, можно ведь наверное как то весь сайт выкачать из сети? Или нет?

    Я в этом деле человек новый и не хочется допустить какую-нибудь «детскую» ошибку.

    Буду благодарен за информацию.
    Спасибо!

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Atrax

    (@atrax)

    Ethical engineer

    Файлы можно размещать в директорию за пределами корневой директории сайта, или защищать файлом .htaccess (а не robots.txt!), чтобы его нелья было получить напрямую.

    Выдавать его клиенту при помощи скрипта, который отрывает его локально и передает содержимое в браузер с нужными заголовками (чтобы он предлагал его сохранить). Этот способ создает дополнительную нагрузку и проблемы при докачивании/скачивании в несколько потоков.

    Или при генерации ссылки создавать симлинк на нужный файл и тогда апач будет его видеть, а после завершения скачивания его удалять и таким образом делать недоступным. Этот метод экономит процессорные мощности, но опасен прямой работой с файловой системой.

    Выбирайте…

    Спасибо, буду разбираться.

    Скажите, пожалуйста, можно как-нибудь прописать в .htaccess защиту файлов в защищаемой папке таким образом, чтобы доступ к файлу мог осуществляться только по прямой ссылке на файл (ссылку я буду высылать заплатившему клиенту). А если прямой ссылки на файл нет, то файл будет недоступен для скачивания и просмотра?

    То есть сделать без симлинков или скриптов.

    P.S. То что заплативший клиент будет после оплаты здать точную ссылку на сайт и сможет передаать ее другим людям для меня сейчас с точки зрения бизнеса не критично — пусть передает. Главное чтобы для него другие файлы были бы недоступны.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Скрыть содержимое директории можно двумя равнозначными способами:
    1. Добавить строку Options -Indexes в .htaccess.
    2. Создать пустой файл index.php.

    Спасибо, я правильно понимаю, что при этом директория остается открытой для доступа, просто файлы скрыты?

    А если злоумышленники весь сайт целиком решат выкачать? Эти спрятанные файлы они при этом скачают?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Да, файлы в этом случае можно скачать по прямой ссылке.
    2. Нет, если ссылок на файлы не будет в открытом доступе.

    Спасибо!
    можно небольшое уточнение насчет вот этой Вашей фразы:

    >2. Нет, если ссылок на файлы не будет в открытом доступе.

    Допустим одной и той же папке со скрытыми файлами находяться:
    файл№1 называется gt7gDht53bNS5.pdf — покупатель разместил на него ссылку в открытом доступе

    файл№2 называется r6hDF7kt6J3Ei.pdf — его имени покупатель не знает, хотя имя папки ему известно, ведь его файл№1 — из той же папки)

    Зная прямую ссылку на папку с файлом№1 можно как-нибудь получить доступ к файлу№2?

    И еще вопрос, а может быть можно поставить пароль на скачивание и открытие файла и выдавать покупателю прямую ссылку на файл, в которую уже будет включен пароль?

    Модератор Юрій

    (@yube)

    Зная прямую ссылку на папку с файлом№1 можно как-нибудь получить доступ к файлу№2?

    Только путем перебора. Или взлома сайта, что гораздо проще 🙂

    И еще вопрос, а может быть можно поставить пароль на скачивание и открытие файла и выдавать покупателю прямую ссылку на файл, в которую уже будет включен пароль?

    Проще всего — архивировать с паролем. Но это тоже ломается. Всё ломается. Вопрос только в соотношении трудо- и денежных затрат на защиту и взлом.

    Спасибо!

    Проще всего — архивировать с паролем. Но это тоже ломается. Всё ломается. Вопрос только в соотношении трудо- и денежных затрат на защиту и взлом.

    Для моего случая важно чтобы клиент получал одную единственную ссылку в которую уже был бы «вшит» пароль — что-нибудь вроде http://login:password@link или как-то еще (точно синтаксис не помню и не могу сейчас точно найти). Чтобы просто ткнул по ссылке и все.
    Я так понимаю, что при варианте с паролем на архив пользователю придется вручную вводить логин/пароль?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Только к первому файлу. Если не рассматривать перебор или взлом 🙂
    2. См. последний пример на странице «Auth — защита паролем».

    SergeyBiryukov, YuBe, спасибо за информацию!

    С паролями буду еще разбираться, а пока просто скрою файлы, как Вы говорили выше.

    Atrax

    (@atrax)

    Ethical engineer

    То есть сделать без симлинков или скриптов.

    И чем же они вам так не угодили?
    Вполне метод защиты, на webfile.ru опробованный.
    Впрочем… вольному воля.

    И чем же они вам так не угодили?
    Вполне метод защиты, на webfile.ru опробованный.
    Впрочем… вольному воля.

    не умею пока их делать 🙂 а уже надо запускаться в минимальном режиме. В будущем конечно наддо будет совершенствовать систему, но сейчас время дороже.

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Тема «Защита платных файлов на хостинге» закрыта для новых ответов.