Вопрос № 161493: Уважаемые эксперты, подскажите, пожалуйста, что нужно вставить в код страницы, чтобы при клике по ссылке на скачивание файла запрашивался пароль (один и тот же для всех файлов - это страничка маленькой библиотеки, буквально десяток отсканирова...
Вопрос № 161.493
Уважаемые эксперты,
подскажите, пожалуйста, что нужно вставить в код страницы, чтобы при клике по ссылке на скачивание файла запрашивался пароль (один и тот же для всех файлов - это страничка маленькой библиотеки, буквально десяток отсканированных книг, на некоторые из которых их авторы просят поставить пароль). На всю страницу пароль ставить не хотелось бы.
Отправлен: 26.02.2009, 18:59
Вопрос задала: Anjali (статус: 1-й класс)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: PVS@Lviv
Здравствуйте, Anjali! Можно придумывать что-то на JavaScripte, но самый очевидный способ: сделать закачку не прямую, а через скрипт авторизации. Что-то типа того, что в приложении:
Приложение:
Ответ отправил: PVS@Lviv (статус: Профессионал) Украина, Львов ---- Ответ отправлен: 26.02.2009, 19:15
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244580 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Отвечает: Товарищ Бородин
Здравствуйте, Anjali! Не знаю, при чем здесь Javascript. Возможно, коллега хотел предложить Вам сделать авторизацию с помощью Ajax, но я думаю, что это Вам не подходит. Все и проще, и сложнее. Давайте попробуем такой серверный вариант.
1) убедитесь, что на сервере поддерживаются файлы .htaccess. Если они доступны, то тогда следует вставить в файл такую строку
RewriteEngine On RewriteRule .pdf$ script.php
Поясняю, что Вы таким образом сделаете. Предположим, что скачиваемые файлы
имеют расширение pdf и лежат в какой-либо папке. Тогда при попытке скачать этот файл, Вы переадресовываетесь на PHP-скрипт script.php, который запросит пароль, если нужно. Кладете в папку .htaccess с вышеуказанным кодом, и в этой же папке создаете файл script.php со следующим кодом:
Сразу предупреждаю - способ не очень хороший. Чтобы способ был очень хороший, о Вашем сервере надо знать больше. Ну и вообще, расклад весь надо более детально знать. Если что-то я не предугадал, сообщите
в личку или мини-форум, я подправлю ответ.
С уважением, Товарищ Бородин
Ответ отправил: Товарищ Бородин (статус: Профессионал) Россия, Новосибирск Тел.: +7-923-245-3366 ---- Ответ отправлен: 26.02.2009, 19:46
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244582 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Отвечает: Евгений Иванов
Здравствуйте, Anjali!
Иногда надо быстро временно закрыть доступ к сайту, а писать красивые вещи, перетаскивать проект в другой каталог - лень. А иногда просто надо сделать закрытую область. Для этого в апаче можно легко с помощью .htaccess файла устроить простую авторизацию. Для этого понадобится
* полный путь к проекту, например /home/data/virt15566/www.mysite.com/ * htpasswd программка, лежащая в апаче
Шаг 1 - заливаем в корень сайта .htaccess файл с таким содержанием
Шаг 2 - генерируем содержание файла с помощью программки
c:>cd C:Program FilesEasyPHP 3.0apachein C:Program FilesEasyPHP 3.0apachein>htpasswd -nmb user pass>.htpasswd
В итоге получаем .htpasswd файл вида:
user:$apr1$r2zs21ge$V1CxOLm7r88XNYE0aaJKm.
(c) http://kurapov.name/technology/web/
basic_auth_htaccess
--------- Знания - сила
Ответ отправил: Евгений Иванов (статус: Профессор) Россия, Москва Тел.: +79168790776 WWW:Eugene Ivanov ICQ: 214889076 ---- Ответ отправлен: 26.02.2009, 20:39
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244588 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Отвечает: Хорошилов Евгений
Здравствуйте, Anjali!
Я, конечно, может и нарушу общий поток мыслей... но в такой ситуации я бы воспользовался паролированием архива с документом. Но это если нет проблем с ограничением трафика хостингом.
Ответ отправил: Хорошилов Евгений (статус: 2-й класс)
Ответ отправлен: 26.02.2009, 21:48
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244594 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.