2014-02-11 2 views
2

У меня есть сервер, который отправляет некоторые URL-адреса в приложение (вроде другого сервера), которое затем отправляет их в веб-приложение, поэтому они отображаются как img src = «URL»
Теперь , Я хотел, чтобы URL-адрес не просматривался пользователями, посетившими веб-сайт.
Все URLS являются фактически изображения JPEG

Так внутри приложения, после того, как я беру URL, преобразовать изображение в base64 и отправить его таким образом, чтобы веб-приложение
«Обфускация» URL-адрес источника HTML

Работает отлично, но ...
Теперь кажется, что это довольно медленно, некоторые изображения похожи на 160 Кб и занимают до 20-25 секунд для конвертирования, и обычно есть 10-20 изображений для конвертирования. Есть ли какие-либо другие предложения о том, как обфускать URLS, если не так?
Но не что-то слишком сложное, как кэширование изображений в приложении и отправка их вперед или около того.
Приложение написано с использованием Rhino
Я думаю о нескольких потоках, но, возможно, вы можете придумать лучшие идеи.

Спасибо!

+0

Я просто любопытно. Почему вы хотите запутать URL-адреса? Пользователи могут загружать изображение независимо от его местоположения. Что-то, что нужно учитывать с точки зрения скорости: обфускация этого URL приводит к тому, что изображение будет передаваться через веб-приложение, тогда как раньше веб-сервер мог обслуживать их напрямую? Веб-серверы, такие как Apache или Nginx, гораздо эффективнее отправляют статические файлы, которые будут в вашем веб-приложении. – jpmc26

+3

Этот вопрос, кажется, спрашивается каждые несколько дней на SO. Короткий ответ заключается в том, что невозможно запутать URL. Вы можете сделать это немного сложнее для случайного пользователя, чтобы выяснить, но определенный пользователь всегда может выяснить, как добраться до файла. –

+0

@ jpmc26: Obfuscating URL-адрес требуется, поскольку сервер, который генерирует и удерживает изображения, не должен напрямую получать доступ к пользователям веб-приложения. – Hertz

ответ

-1

Я считаю, что вы ищете MD5, она

Он работает для паролей из баз данных MySQL, поэтому он должен работать для URL-адресов

+1

Вы полностью в курсе. Это не имеет никакого смысла. – Hertz

+0

Я хотел бы прокомментировать, что вы никогда не должны использовать MD5 для хэширования паролей, потому что это быстрый алгоритм, который открывает вам атаки грубой силы. Стандартом в настоящее время является Blowfish. Вы можете найти гораздо больше информации здесь: http://php.net/manual/en/faq.passwords.php –

Смежные вопросы