2014-12-25 2 views
-1

ОС: Debian 7 64 битСценарий для правильной настройки информации пользователя

Я пишу скрипт, чтобы направить пользователей в их собственный файл username.info правильно. файл username.info находится в «/ home/username /» Прикрепление файла, обслуживаемого через apache. Этот файл также защищен через username/password - «Valid-User» в файле конфигурации apache - defaultsites. После ввода имени пользователя/пароля этот скрипт должен выбрать соответствующий файл username.info На данный момент только один пользователь может получить доступ к файлам username.info на одной веб-странице. Другие пользователи .info файл также перечислен :(

Какие изменения должны быть внесены в сценарий так, чтобы при входе имя пользователя и пароль, соответствующий файл usernmae.info подается.

<htm> 
<body> 
<font face="arial"> 
<h2>User list</h2> 
<?php 
    error_reporting(E_ALL); 

    $dir = '/etc/mainfile/users/'; 
    $files = scandir($dir); 

    foreach($files as $index=>$file) { 
    $data = explode(".", $file); 
    if ($data[1] == 'info') { 
     printUser($dir,$data[0]); 
    } 
    } 

    function printUser($dir,$user) { 
    echo "<h3>$user</h3>"; 
    $data = file($dir."$user.info"); 
    foreach($data as $index=>$line) { 
     $line = makelink($line); 
     echo $line; 
    } 
    } 

    function makelink($input) { 
    $parse = explode(' ', $input); 
    $input = ""; 
    foreach ($parse as $token) { 
     $br = "<br>"; 
     if (strpos($token, "://") > 0) { 
     $input .= '<a href="' . $token . '">' . $token . '</a> '; 
     } else if(substr($token, 1, 3) == '---') { 
     $input .= "<hr>"; 
     $br = ""; 
     } else { 
     $input .= $token." "; 
     } 
    } 
    return trim($input.$br); 
    } 

    function getScriptVersion() { 
    $data = file("/etc/mainfile/version.info"); 
    return $data[0]; 
    } 
?> 
</body> 
</htm> 

ответ

0

Я сделал конфигурацию apache и после многого тестирования нашел, что лучше редактировать apache rewritecond и правила. Полностью Убрал указанный файл, теперь пользователь переходит непосредственно в свою директорию docs.

Добавлено следующее виртуального хоста, используя секрет, как местоположение:

RewriteEngine On 
 
    RewriteCond %{LA-U:remote_user} !^$ 
 
    RewriteRule ^/secret(.*) /home/%{LA-U:remote_user}/secret$1 
 

 
    <Location /secret> 
 
    AuthType Digest 
 
    AuthName "secret" 
 
    AuthDigestDomain /var/www/secret 
 
    AuthDigestProvider file 
 
    AuthUserFile /etc/apache2/htpasswd 
 
    Require valid-user 
 
    </Location>

0
  1. Do не используйте Еогеасп. он показывает все файлы.

  2. добавить $ реж. = $ имя пользователя, если это и передача правильны

  3. проверка file_exists()

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