Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Нужен php скрипт! (https://forum.antichat.xyz/showthread.php?t=92654)

Tigger 20.11.2008 11:29

Нужен php скрипт!
 
Я в php не силен, так что прошу вашей помощи!
Нужен такой php скрипт:
Человек заходит на страницу, а там авторизация. Авторизация идет по такому принципы: челоек вводет Login и Password. Скрипт ищет в файле login.txt совпадения. В login.txt файлы записано видом login : password. Если все совпало, то заходит в users/index.php. То есть папка users доступана только для авторизовавшихся пользователей. А если не совпало, то выходит на страницу erro.php. Надо, что бы нельзя было срау попасть в www.site.ru/users, а можно быбыло только после авторизации. Помогите, пожалуйста. Очень надо!

[x26]VOLAND 20.11.2008 11:48

В www.site.ru/users/index.php пропиши проверку на авторизацию. Если успешно, то пропускаем посетителя, если нет, редиректим на www.site.ru/login.php

SVAROG 20.11.2008 12:03

а не кажеться что с БД удобней было бы?

[:|||||:] 20.11.2008 12:15

можешь сделать basic authorisation для этой директории и в .htpasswd прописать логины и пассы

DDoSька 20.11.2008 12:54

Цитата:

Сообщение от SVAROG
а не кажеться что с БД удобней было бы?

Для авторизации подключать базу?
в .txt - быдловариант, но тож можно...

Tigger 20.11.2008 13:08

Я в php не очень! нет, без БД надо! Именно так. Кто-нибудь помогиет, пожалауйста!

[x26]VOLAND 20.11.2008 14:14

users.txt - файл со строками вида login : password

http://site.com/login.php :
PHP код:

<html>
<body>
Login: <input type="text" name="login"><br>
Password: <input type="text" name="password"><br>
<input type="submit" name="submit"><br>
</body>
</html>

<?php
    
if (isset($_POST['submit']))
    {
        
$usersDB file('users.txt');
        
        if (
in_array($_POST['login'] . ' : ' $_POST['password'], $usersDB))
        {
            
SetCookie('login'$_POST['login']);
            
SetCookie('password'$_POST['password']);
            
header('Location: http://site.com/users/index.php');
            die();
        }
        else
        {
            echo 
'Неверные данные';
        }
    }
?>

http://site.com/users/index.php :
PHP код:

<?php
    $usersDB 
file('users.txt');
    
    if (!
in_array($_СOOKIE['login'] . ' : ' $_СOOKIE['password'], $usersDB))
    {
        
header('Location: http://site.com/login.php');
        die(); 
// Обязательно!
    
}
    
    
//Остальной контент для отображения
    //(виден только залогиненым юзерам)
?>

Это примитив конечно... Обязательно позаботься о защите файла users.txt. Используй алгоритмы хеширования для паролей. И про фильтрацию данных не забудь.

Tigger 20.11.2008 22:39

[x26]VOLAND, огромное спасибо! Очень выручил!!!

.:EnoT:. 21.11.2008 00:20

хорошо ещё было бы .htaccess добавить, иначе вся авторизация теряет смысл (если зайти http://site.ru/users.txt)

Код:

<Files *.txt>
order allow,deny
deny from all
</Files>

ну эт так, в догонку)

Tigger 21.11.2008 01:28

Огромное спасибо [x26]VOLAND и .:EnoT:.


Время: 20:56