Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Товарищ Бородин
Статус: Профессионал
Рейтинг: 174
∙ повысить рейтинг >>
BahuL
Статус: 3-й класс
Рейтинг: 67
∙ повысить рейтинг >>
Бородин Константин Игоревич
Статус: 7-й класс
Рейтинг: 46
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 1095
от 03.03.2009, 19:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 462, Экспертов: 40
В номере:Вопросов: 1, Ответов: 4

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 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 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: Товарищ Бородин
    Здравствуйте, Anjali!
    Не знаю, при чем здесь Javascript. Возможно, коллега хотел предложить Вам сделать авторизацию с помощью Ajax, но я думаю, что это Вам не подходит. Все и проще, и сложнее.
    Давайте попробуем такой серверный вариант.

    1) убедитесь, что на сервере поддерживаются файлы .htaccess. Если они доступны, то тогда следует вставить в файл такую строку

    RewriteEngine On
    RewriteRule .pdf$ script.php

    Поясняю, что Вы таким образом сделаете. Предположим, что скачиваемые файлы имеют расширение pdf и лежат в какой-либо папке. Тогда при попытке скачать этот файл, Вы переадресовываетесь на PHP-скрипт script.php, который запросит пароль, если нужно. Кладете в папку .htaccess с вышеуказанным кодом, и в этой же папке создаете файл script.php со следующим кодом:

    2)
    if (!isset($_POST['password']))
    {
    echo '<form method="post" action=""><input type="password" name="password" /> ;<input type="submit" value="Вход" /></form>';
    } else {
    $filename = $_SERVER['REQUEST_URI'];
    if (file_exists($filename))
    {
    $content = file_get_contents($filename);
    header("Content-type: application/pdf");
    echo $content;
    }
    }

    Сразу предупреждаю - способ не очень хороший. Чтобы способ был очень хороший, о Вашем сервере надо знать больше. Ну и вообще, расклад весь надо более детально знать. Если что-то я не предугадал, сообщите в личку или мини-форум, я подправлю ответ.

    С уважением, Товарищ Бородин
    Ответ отправил: Товарищ Бородин (статус: Профессионал)
    Россия, Новосибирск
    Тел.: +7-923-245-3366
    ----
    Ответ отправлен: 26.02.2009, 19:46

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 244582 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: Евгений Иванов
    Здравствуйте, Anjali!

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

    * полный путь к проекту, например /home/data/virt15566/www.mysite.com/
    * htpasswd программка, лежащая в апаче

    Шаг 1 - заливаем в корень сайта .htaccess файл с таким содержанием

    AuthType Basic
    AuthName "Restricted area"
    AuthUserFile /home/data/virt15566/www.mysite.com/.htpasswd
    Require valid-user

    Шаг 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 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: Хорошилов Евгений
    Здравствуйте, Anjali!

    Я, конечно, может и нарушу общий поток мыслей... но в такой ситуации я бы воспользовался паролированием архива с документом. Но это если нет проблем с ограничением трафика хостингом.
    Ответ отправил: Хорошилов Евгений (статус: 2-й класс)
    Ответ отправлен: 26.02.2009, 21:48

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 244594 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

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

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное