Считается ли «безопасным» использование URL, созданного из таких случайных символов?
http://example.com/EU3uc654/Photos
Я хотел бы разместить на веб-сервере несколько файлов / галерей изображений, которые будут доступны только небольшой группе пользователей. Меня больше всего беспокоит то, чтобы файлы не попадали в руки поисковых систем или любопытных опытных пользователей, которые копаются в моем сайте.
Я создал файл .htaccess, чтобы заметить, что при нажатии на http://user:pass@url/
ссылки не работают с некоторыми браузерами / почтовыми клиентами, вызывая диалоговые окна и предупреждающие сообщения, которые сбивают с толку моих пользователей, не слишком разбирающихся в компьютерах.
Нет, не совсем, это просто безопасность через безвестность что вообще не является безопасностью. Все, что напрямую доступно из Интернета без какой-либо реальной защиты, будет найдено, проиндексировано и кэшировано.
"Хорошо" это или нет, зависит от того, насколько чувствительны изображения.
Если вы не используете SSL, URL-адреса, HTML и сами изображения будут кэшироваться на компьютерах ваших пользователей. это мог утечка, но я считаю это маловероятным.
Панели инструментов браузера, особенно те, которые созданы компаниями, которые запускают сканеры, такие как Alexa и Netcraft, могут сообщать о посещенных URL-адресах на свои родительские сайты, готовые к тому, чтобы бот мог прийти и просканировать позже.
Правильная аутентификация, такая как HTTP-аутентификация или переменная POST, не должна кэшироваться таким образом или передаваться на какой-либо родительский веб-сайт.
Другой способ - использовать уникальные и недолговечные URL-адреса. Таким образом, даже если они протекают, это не имеет большого значения. Конечно, вы должны постоянно обновлять своих законных пользователей о новых URL-адресах.
Они будут регистрироваться в каждом прокси по пути. Вы будете в безопасности от любопытных опытных пользователей и поисковых систем, если только кто-то на самом деле не опубликует ссылку.
И, конечно же, следите за случайностью вашего генератора.
Полагаю, вы здесь не ищете сверхвысокой защиты.
Загадочный URL-адрес удобен для одноразовых загрузок, но не обеспечивает реальной защиты. Вы должны знать, что не все боты соблюдают файл robots.txt, поэтому, если где-либо на вашем сайте есть ссылка, ведущая к замаскированной папке, она воля быть проиндексированы некоторыми поисковыми системами, и как только это начнется, пути назад уже не будет.
Я бы предложил использовать простую систему аутентификации на основе .htaccess вместо или в дополнение к тому, что вы предлагаете.
Я хотел бы добавить еще один, может быть, более пугающий взгляд на обфусцированные URL-адреса, подобные этому примеру. Даже если ваш URL-адрес не был предоставлен случайно, он может быть отправлен поисковым системам следующими способами:
YMMV.
Раньше я использовал аналогичный метод, чтобы позволить пользователям создавать общие пространства в системе управления документами. Общий контент не был совершенно секретным, поэтому система не обязательно должна быть сверхбезопасной.
Я просто заставил URL каждого пользователя содержать отметку времени истечения срока действия и MD5 их электронной почты.
ТАК URL выглядел так:
http://my-url.com/1343689677-cba1f2d695a5ca39ee6f343297a761a4/
с указанным выше, если пользователь ввел адрес электронной почты user@gmail.com до 30 июля, им было бы хорошо пойти.
Не совсем охрана военного уровня, но свое дело сделала.
Это имеет ту же уязвимость, что и сохранение идентификатора сеанса в URL-адресе. Кто-то может случайно скопировать и вставить ссылку на других, забыть про цензуру на снимке экрана или позволить кому-то найти ее, поскольку она не помечена звездочкой, как пароли.
Кроме того, если какой-либо контент защищен паролем, войдя в систему, вы знаете, что это секрет. Если вы получите ссылку, вы легко ее забудете.
Другое дело - снятие привилегий пользователей. Вы можете удалить пользователя, чтобы он больше не мог входить в систему, но со ссылками. Вам нужно будет изменить их все и отправить всем (кроме удаленного пользователя) новые URL-адреса.
Думаю, неплохо, если это просто изображения. Но если это некоторые изображения, которыми вы действительно не хотели бы делиться;) то я предлагаю вам использовать более длинные случайные слова, больше похожие на то, что представил Дейв.
РЕДАКТИРОВАТЬ: Добавьте? DO_NOT_SHARE_THIS_LINK к URL-адресу: http://example.com/DO_NOT_SHARE_THIS_LINK/EU3uc654-this-should-be-longer/Photos?DO_NOT_SHARE_THIS_LINK
Вот что например Kongregate делает это при встраивании игр, размещенных в другом месте (он помещает учетные данные для авторизации в URL-адрес фрейма). Кстати, Kongregate также использует ссылки гостевого доступа для неопубликованных игр, именно так, как вы хотите.