Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
11 / 11 / 1
Регистрация: 29.10.2009
Сообщений: 91
1

Авторизация

15.07.2011, 15:18. Показов 1899. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Уважаемый пользователи форума www.cyberforum.ru не могли бы вы помочь мне.
Возникла вот такая проблема. Есть форма Авторизации
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<center>
<table width="100%" height="100%">
<form name="auth" method="GET" action="index.php"><tr><td align="center">
<table><tr><td><table><tr><td>
<input type="hidden" name="auth" value="1">
Логин:
</td><td>
<input type="text" name="login" size="15">
</td></tr><tr><td>
Пароль:
</td><td>
<input type="password" name="password" size="15">
</td></tr></table></td></tr><tr>
<td align="center">
<input type="submit" name="ok" value="Вход">
<input type="reset" value="Сбросить" />
</td></tr>
Необходимо сделать так что бы при вводе данных и нажатии на кнопку Вход делалась проверка следующих данных Логин,пароль и IP адрес. Если не введен логин или пароль то пишет что не указано.
Если что то указано и неверно то что бы писало что неверно. Если всё указано и всё верно но не тот ip что указан у пользователя который вводит данные пишет неверный ip адрес. Если всё верное то пускает на страницу.Прошу помочь во оплатить то что я задумал.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2011, 15:18
Ответы с готовыми решениями:

CURL авторизация
Здравствуйте. Хотел сделать парсер баланса с teasernet.com с помощью cURL но не работает...

Авторизация curl
Всем добрый день! Возникла проблема, мне нужно проверять данные на сайте, чтобы их посмотреть...

Авторизация на qiwi
Добрый день, прошу помощи, не могу авторизироватся на qiwi, вот код $USER_LOGIN = &quot;XXXX&quot;;...

Авторизация mail.ru
Нужно авторизоваться на mail.ru и получить куки. Есть решение? Добавлено через 4 часа 19 минут...

18
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
15.07.2011, 15:30 2
Глянь тут
0
11 / 11 / 1
Регистрация: 29.10.2009
Сообщений: 91
15.07.2011, 15:36  [ТС] 3
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Спасибо но прочитайте пожалуйста название моей темы.
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
15.07.2011, 15:45 4
а остальное делать легко, ты же ip в бд заносишь.
вот и делаешь сначала проверку
если нету $_POST[имя поля] - выводим ошибку
если все есть делаешь запрос в бд по имени если такого нет - ошибка логин не найден
если есть сравниваешь пароли если не подходят - ошибка пароль не верен
если все это правильно сравниваешь ip если одинаковы то редирект куда надо если нет вывод ошибк
0
11 / 11 / 1
Регистрация: 29.10.2009
Сообщений: 91
15.07.2011, 20:33  [ТС] 5
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
а остальное делать легко, ты же ip в бд заносишь.
вот и делаешь сначала проверку
если нету $_POST[имя поля] - выводим ошибку
если все есть делаешь запрос в бд по имени если такого нет - ошибка логин не найден
если есть сравниваешь пароли если не подходят - ошибка пароль не верен
если все это правильно сравниваешь ip если одинаковы то редирект куда надо если нет вывод ошибк
Вот я сделал вот так.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ip = $_SERVER['REMOTE_ADDR'];
$login = $_GET['login'];
$password = $_GET['password'];
//Проверяем есть ли $_GET.
if ($_GET['auth'] == 1) {
 
$query = mysql_query("SELECT login, password, INET_NTOA(ip) , tp_id , deposit FROM users WHERE login = '".$_GET['login']."'");
$sql = mysql_fetch_array($query);
    if ($login == $sql['login'] )
     {
     if ($password == $sql['password'])
      {
      if ($ip == $sql['INET_NTOA(ip)'])
       { echo ":)";
       }
        else 
          { echo "<div style='position:relative; background-color:red'>Неверный IP адрес!</div>";}
         }
             else {echo "<div style='position:relative; background-color:red'>Неверный пароль!</div>"; }
          }
               else {echo "<div style='position:relative; background-color:red'>Неверный логин!</div>"; }
               }
               
               
               ?>
Подскажите как сделать с кукисами что бы пользователь мог переходить на страницы а не находится на одной странице.
0
22 / 16 / 1
Регистрация: 26.01.2010
Сообщений: 305
15.07.2011, 21:07 6
для авторизации пользователя он должен пройти два этапа, это аутификация и потом авторизация, аутификация это как раз тот кусок кода который проверяет на наличие правильности ввода данных, авторизация когда пользователь уже зашел под своими данными, аутификацию я пишу в оддельный скрипт вот пример
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$login = "admin";
$pass = "12345";
 
$login_u = "user";
$pass_u = "11111";
 
session_start();
 
if (isset($_POST['login'])) {
    $_SESSION['login'] = $_POST['login'];
}
if (isset($_POST['pass'])) {
    $_SESSION['pass'] = $_POST['pass'];
}
 
if ($_SESSION['login'] == $login && $_SESSION['pass'] == $pass) {
    echo "<h1>Добро пожаловать!</h1><br>";
    echo "Вашь login: &nbsp;".$_SESSION['login']."<br>";
    echo "<a href='glavnaia.php'>Приятной работы</a>";
}
if ($_SESSION['login'] == $login_u && $_SESSION['pass'] == $pass_u) {
    echo "<h1>Добро пожаловать!</h1><br>";
    echo "Вашь login: &nbsp;".$_SESSION['login']."<br>";
    echo "<a href='glavnaia2.php'>Приятной работы</a>";
}
?>
а авторизовавшись я не использую куки, я все загоняю в сессии и просто на каждой страничке подключаю проверку запущена сейчас сессия или нет.
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
16.07.2011, 00:52 7
Хранить все данные в сессии не очень хорошо. Лучше хранить один параметр по которому делать запрос в бд для проверки и сверять допустим ip и id записи в БД
0
11 / 11 / 1
Регистрация: 29.10.2009
Сообщений: 91
16.07.2011, 09:07  [ТС] 8
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Хранить все данные в сессии не очень хорошо. Лучше хранить один параметр по которому делать запрос в бд для проверки и сверять допустим ip и id записи в БД
Ты имеешь введу делать вот так на каждой странице ?

PHP
1
2
3
4
5
$query = mysql_query("SELECT * FROM users WHERE INET_NTOA(ip) = '".$_GET['INET_NTOA(ip)']."'");
$sql = mysql_fetch_array($query);
    if ($ip == $sql['INET_NTOA(ip)'])
    { echo "Вуаля";}
    else {echo "Ошибка";}
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
16.07.2011, 11:29 9
Вообще, у многих ip динамический.
Некоторые пользователи не смогут попасть к вам на сайт после перезагрузки своего роутера

Оно вам точно надо?
0
11 / 11 / 1
Регистрация: 29.10.2009
Сообщений: 91
16.07.2011, 11:44  [ТС] 10
Цитата Сообщение от KoIIIeY Посмотреть сообщение
Вообще, у многих ip динамический.
Некоторые пользователи не смогут попасть к вам на сайт после перезагрузки своего роутера

Оно вам точно надо?
Ну я это знаю. Но если я пишу значит мне это необходимо Да, мне это нужно.
0
11 / 11 / 1
Регистрация: 29.10.2009
Сообщений: 91
17.07.2011, 15:15  [ТС] 11
Возникла проблема. Я сделал авторизацию идет проверка логина,пароль и ip адреса.
index.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<table width="100%" height="100%">
<form name="auth" method="GET" action="index.php"><tr><td align="center">
<table><tr><td><table><tr><td>
<input type="hidden" name="auth" value="1">
Логин:
</td><td>
<input type="text" name="login" size="15">
</td></tr><tr><td>
Пароль:
</td><td>
<input type="password" name="password" size="15">
</td></tr></table></td></tr><tr>
<td align="center">
<input type="submit" name="ok" value="Вход">
<input type="reset" value="Сбросить" />
</td></tr>
<?
$ip = $_SERVER['REMOTE_ADDR'];
$login = $_GET['login'];
$password = $_GET['password'];
//Проверяем есть ли $_GET.
if ($_GET['auth'] == 1) {
 
$query = mysql_query("SELECT login, password, INET_NTOA(ip) , tp_id , deposit FROM users WHERE login = '".$_GET['login']."'");
$sql = mysql_fetch_array($query);
 
    if ($login == $sql['login'] )
     {
     if ($password == $sql['password'])
      {
      if ($ip == $sql['INET_NTOA(ip)'])
       { 
        session_start();
        $_SESSION['login']=$sql['login'];
       echo '<script type="text/javascript"> window.location = "user.php" </script>'; 
       }
        else 
          { echo "<div style='position:relative; background-color:FFFFFF' width='30' >Неверный IP адрес!</div>";}
         }
             else {echo "<div style='position:relative; background-color:red'>«Не указан/Неверный пароль!</div>"; }
          }
               else {echo "<div style='position:relative; background-color:red'>«Не указан/Неверный логин!</div>"; }
               }
include 'footer.html';
               ?></table></table>
Если все данные верны то идёт запись в сесию логина и переход на страницу user.php
Ну а вот тут то и проблема возникла. Пользователь переходит проверка производится всё как нужно. И даётся доступ. Но как сделать теперь что бы с mysql выводилась та информация которая предназначена этому пользователю.
Вот user.php
PHP
1
2
3
4
5
6
7
session_start();
if (isset($_SESSION['login'])) {
// вот что тут делать что бы выводилась только информация этого пользователя ?
}
else {
    die('Доступ закрыт, даём ссылку на авторизацию.');
}
Возможно ли сделать как то так что бы брался логин с сесии и вставлялся запрос логина. Ну а по логину уже выводилась информация пользователя.
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
18.07.2011, 11:51 12
А у юзера ID нету что ли? 0_о или как он у тебя в сессию попадает?
Если у юзера есть ID, выборку по его id делай (where id_user = '$id');
0
11 / 11 / 1
Регистрация: 29.10.2009
Сообщений: 91
18.07.2011, 14:19  [ТС] 13
Цитата Сообщение от KoIIIeY Посмотреть сообщение
А у юзера ID нету что ли? 0_о или как он у тебя в сессию попадает?
Если у юзера есть ID, выборку по его id делай (where id_user = '$id');
Каким образом занести мне это если у меня заносится логин пользователя в сесию ? Можно как то через логин пользователя это делать ? Если да то подскажите с кодом.
0
55 / 54 / 25
Регистрация: 07.05.2011
Сообщений: 155
18.07.2011, 18:10 14
Цитата Сообщение от vano793 Посмотреть сообщение
Каким образом занести мне это если у меня заносится логин пользователя в сесию ? Можно как то через логин пользователя это делать ? Если да то подскажите с кодом.
в таблице с юзерами есть столбец ID ?

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

PHP
1
$query = mysql_query("SELECT login, password, INET_NTOA(ip) , tp_id , deposit FROM users WHERE login = '".$_SESSION['login']."'");
1
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
18.07.2011, 20:07 15
Лучше сделайте еще столбец ID (a_i, etc).
Поиск по тысяче имен по логину будет грузить сервер.
0
11 / 11 / 1
Регистрация: 29.10.2009
Сообщений: 91
19.07.2011, 14:51  [ТС] 16
Цитата Сообщение от Ivan.php Посмотреть сообщение
в таблице с юзерами есть столбец ID ?

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

PHP
1
$query = mysql_query("SELECT login, password, INET_NTOA(ip) , tp_id , deposit FROM users WHERE login = '".$_SESSION['login']."'");
Да, есть но при авторизации id(у меня называется uid) нигде не показывается и не проходит. Как мне его тогда заносить в сесию ? И потом выводить
0
55 / 54 / 25
Регистрация: 07.05.2011
Сообщений: 155
19.07.2011, 15:11 17
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$query = mysql_query("SELECT uid,login, password, INET_NTOA(ip) , tp_id , deposit FROM users WHERE login = '".$_GET['login']."'");
$sql = mysql_fetch_array($query);
 
        if ($login == $sql['login'] )
         {
     if ($password == $sql['password'])
          {
      if ($ip == $sql['INET_NTOA(ip)'])
           { 
        session_start();
        $_SESSION['uid']=$sql['uid'];
           echo '<script type="text/javascript"> window.location = "user.php" </script>'; 
           }
                else 
                  { echo "<div style='position:relative; background-color:FFFFFF' width='30' >Неверный IP адрес!</div>";}
             }
                     else {echo "<div style='position:relative; background-color:red'>«Не указан/Неверный пароль!</div>"; }
              }
                       else {echo "<div style='position:relative; background-color:red'>«Не указан/Неверный логин!</div>"; }
                           }
include 'footer.html';
                           ?></table></table>
и потом не по логину надо будет проверять, а по юид
1
22 / 16 / 1
Регистрация: 26.01.2010
Сообщений: 305
20.07.2011, 08:44 18
id твблице нужен по большей части исключительно для самой базы, ты можешь и не знать под каким id тот или иной человек, потому что обычно поле id ставят автоинкриментом.
0
Веб-мастер
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
14.08.2011, 10:34 19
Вообщем вот мой код авторизации, строго не судите я делал его исключительно сам без всяких мануалов и тем в интернете или форумов:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
if(isset($_POST['submit']))
{
    if(isset($_POST['login']))
    {
        $login = $_POST['login'];
    }
    
    if(isset($_POST['password']))
    {
        $password = $_POST['password'];
    }
    
    if($login == "")
    {
        unset($login);
        echo "<p>Введите <b>логин</b>!</p>";
    }
    
    if($password == "")
    {
        unset($password);
        echo "<p>Введите <b>пароль</b>!</p>";
    }
    else
    {
        $password = md5($password);
    }
    
    $login = mysql_real_escape_string($login);
    
    if(isset($login) and isset($password))
    {
        $result = mysql_query("SELECT `id`,`password` FROM `players` WHERE `login` = '$login'");
        $row = mysql_fetch_array($result);
        if(isset($row['id']) and $password == $row['password'])
        {
            $_SESSION['ID'] = $row['id'];
            header("Location: index.php");
        }
        else
        {
            echo "<p>Неверный логин/пароль.</p><p><a href='login.php'>Заново</a></p>";
        }
    }
}
else
{
    echo "<form name='form1' method='post' action='login.php'>
<p align='center'>
<label>Логин:<br>
<input name='login' type='text' id='login' size='30' maxlength='30'>
</label>
</p>
<p align='center'>
<label>Пароль:<br>
<input name='password' type='password' id='password' size='30' maxlength='100'>
</label>
</p>
<p align='center'>
<label>
<input type='submit' name='submit' id='submit' value='Войти'>
</label>
</p>
</form>";
}
?>
0
14.08.2011, 10:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.08.2011, 10:34
Помогаю со студенческими работами здесь

Авторизация PHP
Нужно авторизоваться на сайте своего интернет провайдера, и спарсить оттуда баланс на свой сайт....

Авторизация на КУРЛ
Привет, уважаемые соратники!!! Работаю в одной конторке по разработке различных электронных...

Удалённая авторизация
Здравствуйте. Нуждаюсь в помощи... Суть проблемы у меня такая: Имеется некий сайт. Вход на него...

Curl авторизация
Всем привет. Необходимо авторизоваться на сайте с помощью Curl. $curl = curl_init(); ...

Авторизация на amazon
Подскажите кто сталкивался, интересует сбор информации на амазоне но в авторизованном виде,...

Curl авторизация
Здравствуйте подскажите как через курл сделать авторизацию на сайте? Отправляем на сайт для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru