Хобрук: Ваш путь к мастерству в программировании

PHP: используйте PHP для аутентификации с помощью .htaccess при загрузке в подпапку защищенной папки.

Я пытаюсь загрузить файлы в подпапку защищенной папки. Вот как выглядит иерархия:

/базовая папка(.htaccess)/инструмент/script.php

/базовая папка(.htaccess)/инструмент/uploadhandler.php

/базовая папка(.htaccess)/инструмент/файлы/здесь(подпапка)/

Простой файл .htaccess для моей базовой папки:

AuthUserFile "/path/"
AuthType Basic
AuthName "Admin Dashboard"
require valid-user

Сценарий отправляет данные типичному обработчику загрузки php, который пытается сохранить файл в подпапке. Когда код доходит до этого этапа, мой браузер снова запрашивает пользователя/пароль.

Есть ли способ аутентификации с помощью PHP, чтобы мне не запрашивали пароль каждый раз?


  • Возможный обман #2694697 12.02.2011
  • Если ваш обработчик загрузки сохраняет файл непосредственно в папке инструмента, вы все еще получаете запрос во второй раз? Нужно проверить, чтобы убедиться, что у вас нет другого файла .htaccess в папке инструментов, папке файлов или подпапке? 12.02.2011
  • Кроме того, обычно не рекомендуется использовать обычную аутентификацию, поскольку пароли отправляются открытым текстом, если только вы не используете SSL. Любой человек в той же сети Wi-Fi мог прочитать пароль. 12.02.2011
  • Я все еще получаю запрос при сохранении непосредственно в папке инструментов. Ни в одной из подпапок базовой папки нет других файлов .htaccess. Я думал, что обработчику загрузки не потребуется аутентификация, поскольку он использует пользователя на стороне сервера, и этот пользователь должен иметь полный доступ ко всем папкам на сервере? 12.02.2011
  • Вставьте код обработчика загрузки в свой вопрос. Это звучит почти так, как будто вы пытаетесь сохранить файл через HTTP, а не используете PHP, чтобы сохранить его непосредственно в файловой системе. 12.02.2011

Ответы:


1

Освободите файл upload.php от защиты паролем HTTP и используйте сеансы или файл cookie, чтобы установить, что пользователю разрешено загружать.

Например, в файле PHP с формой загрузки:

session_start(); 
$_SESSION['can_upload'] = true;
// this would only be set if the user could successfully access the upload form
// page; sessions are preferable to cookies since anyone could set a cookie named
// "is_allowed" to "1"—you would have to use some kind of token for validation
// if you used a cookie

а затем в файле PHP, обрабатывающем загрузку файлов,

session_start();

if (! isset($_SESSION['can_upload'])) {
  header("403 Forbidden");
  echo("You are not authorized!");
  die();
}

// user is OK, put your upload logic here
12.02.2011
  • Не хорошо. Я обнаружил, что проблема была связана с моим флеш-загрузчиком, и мне пришлось отключить mod_security, чтобы он работал. Поэтому я отказался от него для загрузчика jquery. 18.02.2011
  • Новые материалы

    Как получить 5-звездочные отзывы на Upwork
    Как получить 5-звездочные отзывы на Upwork Фрилансеры и работники гиг-экономики больше, чем когда-либо, зависят от отзывов клиентов, чтобы влиять на решения людей работать с ними. После многих..

    Новые темы: семинары по основам программирования, неделя 2
    (Семинары, указанные ниже, в настоящее время закрыты. Чтобы узнать о новейших семинарах, пожалуйста, ознакомьтесь с последней записью в блоге ) Добро пожаловать на вторую неделю наших..

    Рекомендательные системы в науке о данных
    Системы рекомендаций являются неотъемлемой частью современной науки о данных. Это алгоритмы, предназначенные для прогнозирования того, что может понравиться или заинтересовать пользователя, на..

    Составление схемы курса Udemy Javascript
    Составление схемы курса Udemy Javascript Я пишу код с тех пор, как четыре года назад окончил колледж. Я внес свой вклад в сообщество, читая лекции, отвечая на stackoverflow и работая в..

    Статическая типизация в TypeScript: основы Typescript
    Понимание статической типизации TypeScript, расширенный набор JavaScript, был разработан Microsoft в 2012 году для устранения некоторых ограничений JavaScript. Одним из его основных предложений..

    Как использовать SAAS на благо вашего бизнеса
    В деловом мире SAAS (программное обеспечение как услуга) становится все более популярным. И неудивительно, почему — SAAS предоставляет ряд преимуществ для предприятий любого размера. Вот лишь..

    Приложения случайного блуждания, часть 1 (статистика + машинное обучение)
    Смещенное случайное блуждание при динамической перколяции (arXiv) Автор: Себастьян Андрес , Нина Гантерт , Доминик Шмид , Перла Сузи Аннотация: мы изучаем смещенные случайные..