2009-07-28 2 views
1

Вот как это работает:Как создать динамический вход в PHP?

  • Пользователь производит оплату
  • пользователь получает пароль
  • Их имя пользователя будет их электронная почта
  • папка будет создана для этого пользователя, который содержит файлы пользователю, которому был предоставлен доступ.

Основная проблема заключается в том, что программное обеспечение необходимо защитить, а пароль будет динамически создан. Поэтому мне интересно, нужно ли мне создавать .htaccess и .htpaaswd, если это так, как я могу это сделать динамически?

ответ

2

Возможно, так же, как Wordpress создает/изменяет файл .htaccess.

Вам просто нужно создать скрипт, который будет генерировать правильное содержимое файла для .htpass или файла .htaccess.

Когда пользователь что-то покупает, добавьте строку в файл .htpass, содержащий комбинацию пользователя/пароль, и все их в группу (возможно, основанную на имени файла). Затем разрешите этой группе доступ к этому файлу.


Другой способ сделать это будет через базы данных.

Во-первых, когда пользователь производит платеж, имейте несколько таблиц для хранения своих данных.

Первая таблица: пользователя/пароль

Это хранит комбинацию электронной почты/пароль, который необходимо использовать для получения доступа к файлам пользователей. В основном таблица состоит из

int Unq_ID | text Email_Addr | varchar(150) Password

Это содержит комбинации пользователя/пароля.

Вторая таблица: Файлы

Эта таблица содержит все ваши имена файлов, идентификаторы и где они будут созданы.

int Unq_ID | varchar(150) Name | text Directory

Третий стол: Отношения

Эта последняя таблица содержит взаимосвязь между Пользователем и пароль. Также очень просто:

int Unq_ID | int User_ID | int Product_ID

В принципе, если человек входит в систему с действительным Логин/пароль, вы идете записи грейфер отношения, которые соответствуют их User_ID, и присоединиться к файлам с на Product ID. Чтобы проверить, что они могут что-то загрузить, просто проверьте, существует ли запись, которая имеет права User_ID и Product_ID.


Чтобы защитить файл от несанкционированного доступа, сделайте файл Htaccess, как этот

 
RewriteEngine On 
RewriteBase/
RewriteCond %{THE_REQUEST} ^.+$ [NC] 
RewriteRule .* - [F,L] 

отвергающих от кого принимать FOPEN функцию РНР. Затем вы просто создаете скрипт PHP, который захватывает содержимое и представляет его как загрузку.

+0

Есть, вероятно, гораздо более простые способы сделать это, и я закрою их через минуту. –

+0

Но, это потому, что я предпочитаю базы данных. –

+0

Мне очень понравился этот путь, хотя я тоже чувствую себя более комфортно с базами данных, но только один вопрос. Как я могу защитить папки от прямого доступа? – Carlo