PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (91): В начало « ... 75 76 77 78 [79] 80 81 82 83 ... » В конец

> Найдено сообщений: 1361
Саныч Отправлено: 06 Ноября, 2010 - 22:36:58 • Тема: Помогите разобраться с кодом • Форум: Напишите за меня, пожалуйста

Ответов: 15
Просмотров: 186
вот мой примерчик... подобавлял комментариев, чтоб вам было понятней...

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require("core/config.php");
  3. $connect = mysql_connect($host,$user,$pass);
  4. mysql_select_db($user_database, $connect);
  5. if(isset($_POST['Submit']) && isset($_POST['username']) || isset($_POST['password'])) //вход через форму
  6. {
  7.         //проверка логина
  8.         if(!preg_match('/^[a-z0-9\_\-]{3,18}$/i',$_POST['username'])) exit('Логин должен быть от 3 до 18 символов и сотаять и анг. букв, цифр и символо - и _');
  9.         //проверка пароля
  10.         if(!preg_match('/^[a-z0-9\_\-]{6,18}$/i',$_POST['password'])) exit('Пароль должен быть от 6 до 18 символов и сотаять и анг. букв, цифр и символо - и _');
  11.         //проверка на существование юзера
  12.         $sql = mysql_query('SELECT * FROM users WHERE username = "'.mysql_real_escape_string($_POST["username"]).'" LIMIT 1');
  13.         if(mysql_num_rows($sql) == 0) exit('Пользователь с указанным логином не зарегистрирован!');
  14.         //сравнение паролей
  15.         $res = mysql_fetch_assoc($sql);
  16.         if($res['password'] <> md5($_POST['password'])) exit('Неверный пароль!');
  17.         //если выбрано запомнить меня... ставим куку живущую 30 дней
  18.         if(isset($_POST['remember'])) setcookie('user',$res['id'].'#'.$res['password'],(time() + 2592000));
  19.         elseif(isset($_COOKIE['user'])) setcookie('user','');
  20.         //запуск сессии
  21.         $_SESSION['id'] = $res['id'];
  22.         $_SESSION['pass'] = $res['password'];
  23. }
  24. elseif(isset($_SESSION['id']) && isset($_SESSION['pass'])) //вход по сессии
  25. {
  26.         $sql = mysql_query('SELECT password FROM users WHERE id = '.mysql_real_escape_string($_SESSION['id']).' LIMIT 1');
  27.         $res = mysql_fetch_assoc($sql);
  28.         //проверяем данный, если ошибка убиваем сессию
  29.         if(mysql_num_rows($sql) == 0 || $res['password'] <> $_SESSION['pass'])
  30.         {
  31.                 unset($_SESSION['id']);
  32.                 unset($_SESSION['pass']);
  33.                 exit('левая сессия...');
  34.         }
  35. }
  36. elseif(isset($_COOKIE['user'])) //вход по куке
  37. {
  38.         list($id,$pass) = split('#',$_COOKIE['user'])
  39.         $sql = mysql_query('SELECT password FROM users WHERE id = '.mysql_real_escape_string($id).' LIMIT 1');
  40.         $res = mysql_fetch_assoc($sql);
  41.         //проверка куки если левая, удаляем ее, если все ОК перезаписываем
  42.         if(mysql_num_rows($sql) == 0 || $pass <> $res['password'])
  43.         {
  44.                 setcookie('user','');
  45.                 exit('Логин не найден, левая кука...');
  46.         }
  47.         //запуск сессии
  48.         $_SESSION['id'] = $id;
  49.         $_SESSION['pass'] = $pass;
  50.         setcookie('user',$id.'#'.$pass,(time() + 2592000));
  51. }
  52. else //не вошли... выводим форму
  53. {
  54.  
  55. echo '
  56. <html>
  57. <head>
  58. <meta http-equiv="content-type" content="text/html"; charset="utf-8" />
  59. <title></title>
  60.        <link rel="stylesheet" href="css/acp.css" type="text/css" />
  61.        <link rel="shortcut icon" href="favicon.ico" />
  62.   <script type="text/javascript">
  63.       var GB_ROOT_DIR = "./greybox/";
  64.   </script>
  65.   <script type="text/javascript" src="greybox/AJS.js"></script>
  66.   <script type="text/javascript" src="greybox/AJS_fx.js"></script>
  67.   <script type="text/javascript" src="greybox/gb_scripts.js"></script>
  68.   <link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all" />
  69.   <script type=\"text/javascript\" src=\"static_files/help.js\"></script>
  70.   <link href=\"static_files/help.css\" rel=\"stylesheet\" type=\"text/css\" media=\"all\" />
  71. </head>
  72. <body>
  73. <br>
  74. <br>
  75. <br>
  76. <br>
  77. <div id="frame" class="outline">
  78. <img src="images/emblem-library.png" alt="Main" align="middle">
  79. <h1>
  80. Дистанционное обучение  </h1>
  81. <p>
  82. Для того, чтобы войти в систему введите логин и пароль...</p>
  83. <form method="POST" action="'.$_SERVER["PHP_SELF"].'">
  84. <fieldset class="input">
  85. <p id="form-login-username">
  86. <label for="username">Логин:</label><td><input type="text" name="username" size="18"></td>
  87. </p>
  88. <p id="form-login-password">
  89. <label for="passwword">Пароль:</label><td><input type="password" name="password" size="18" autocomplete="off"></td>
  90. </p>
  91. <p id="form-login-remember">
  92. <label for="remember">Запомнить меня:</label>
  93. <input name="remember" class="inputbox" value="yes" alt="Запомнить меня" id="remember" type="checkbox">
  94. </p>
  95. <p align="center"><input type="submit" value="Войти" name="Submit"></td>
  96. </fieldset>
  97. </form>
  98. </div>
  99. <br>
  100. <a href="signup.php" class="underline" title="Регистрация в системе" rel="gb_page_center[500, 500]">Регистрация</a> | <a href="#" class="underline" title="Registration">FAQ</a> | <a href="#" class="underline" title="Registration">Разаботчики</a> | <a href="#" class="underline" title="Registration">О проекте</a>
  101. <br>
  102. <p class="copyright">
  103.                        ... <a href="http://" class="underline" target="_blank">...</a>.</p>
  104.                        <p align="center">...(<span class="dashedtext">Alpha</span>)</p>                
  105. </body>
  106. </html>';
  107. }
  108. ?>

Как основа, чтобы было от чего отталкиваться...
По хорошему еще нужно сделать защиту от подборки паролей...


http://forum.php.su/topic.php?fo...1&topic=5236
Моя системка, разбирайтесь... правда я ее уже немного улучшил но и это пойдет... Единственное проверку по ип не нужно делать (77 и 94 строчки)

Разбирайтесь...
Саныч Отправлено: 06 Ноября, 2010 - 21:54:32 • Тема: Помогите разобраться с кодом • Форум: Напишите за меня, пожалуйста

Ответов: 15
Просмотров: 186
Ну в таком случае код в студию. ВЕСЬ!
Саныч Отправлено: 06 Ноября, 2010 - 21:48:15 • Тема: Помогите разобраться с кодом • Форум: Напишите за меня, пожалуйста

Ответов: 15
Просмотров: 186
Starlord пишет:
ограничение на password 30 символов

ну вот что я и говорил... ищите отличия)
поставьте 32 и будет вам счастье
Саныч Отправлено: 06 Ноября, 2010 - 21:46:29 • Тема: Помогите разобраться с кодом • Форум: Напишите за меня, пожалуйста

Ответов: 15
Просмотров: 186
А что с куками? Устанавливаете, затем по необходимости берете значение, проверяете...

Пример этой системки примерно такой
PHP:
скопировать код в буфер обмена
  1. if( вход через форму )
  2. {
  3.    проверяем логин, пароль, сравниваем с базой.
  4.    если все ОК запускаем сессию.
  5.    если пользователь выбрал "Запомнить меня" устанавливаем куку, если не выбрал, а кука есть удаляем ее...
  6. }
  7. elseif( есть сессия )
  8. {
  9.    проверяем значения, если ошибка убиваем сессию
  10. }
  11. elseif( есть кука )
  12. {
  13.    проверяем значение, если ОК запуск сессию, если ошибка удаляем куку
  14. }
  15. else
  16. {
  17.    ...если войти не удалось...
  18. }
Саныч Отправлено: 06 Ноября, 2010 - 21:33:12 • Тема: Помогите разобраться с кодом • Форум: Напишите за меня, пожалуйста

Ответов: 15
Просмотров: 186
Starlord пишет:
Неа, всё равно не робит Недовольство, огорчение

Ну значит смотрите что у вас в базе хранится... И что вы пытаетесь сравнивать... Ищите различия вобщем
Саныч Отправлено: 06 Ноября, 2010 - 21:30:34 • Тема: помогите с preg_replace • Форум: Программирование на PHP

Ответов: 10
Просмотров: 531
Ну почему же 9.80? В самом конце строки Version/10.63... Вот она и версия, и везде разная)
Саныч Отправлено: 06 Ноября, 2010 - 21:26:45 • Тема: Помогите разобраться с кодом • Форум: Напишите за меня, пожалуйста

Ответов: 15
Просмотров: 186
попробуйте так
PHP:
скопировать код в буфер обмена
  1. $sql = 'SELECT * FROM users WHERE username = "'.$_POST['username'].'" AND password = "'.$hash['password'].'"';


з.ы. А в чем смысл 3 и 4 строки?)
Саныч Отправлено: 06 Ноября, 2010 - 21:18:56 • Тема: помогите с preg_replace • Форум: Программирование на PHP

Ответов: 10
Просмотров: 531
А не чего, что в квадратных скобках идет перечисление и под вашу регулярку может попасть любое слово? Хм
Саныч Отправлено: 05 Ноября, 2010 - 15:42:49 • Тема: хелп!!!! • Форум: Программирование на PHP

Ответов: 13
Просмотров: 734
misternik, вы сами хоть поняли что вам надо? Судя по вашим вопросам вы вообще не разбираетесь в том, куда лезете...
Саныч Отправлено: 04 Ноября, 2010 - 23:31:40 • Тема: 10000 тема! • Форум: Прочее

Ответов: 9
Просмотров: 85
Улыбка
Саныч Отправлено: 04 Ноября, 2010 - 23:26:30 • Тема: умная дата • Форум: Программирование на PHP

Ответов: 8
Просмотров: 438
PHP:
скопировать код в буфер обмена
  1. $date = preg_replace('/((?:\d{2}\.){2}\.)(\d{2})/',"\${1}19\$2",$date);


з.ы. А что если год к примеру 01? Нужно 2001 или все же 1901?
Саныч Отправлено: 03 Ноября, 2010 - 22:17:19 • Тема: Выркзать множество пробелов • Форум: Регулярные выражения

Ответов: 3
Просмотров: 257
Саныч Отправлено: 03 Ноября, 2010 - 08:16:43 • Тема: Обновление форума. Баги и ошибки пишем здесь • Форум: Колонка администратора

Ответов: 468
Просмотров: 201374
В настройках профиля есть такая штука "Коррекция временных зон" Улыбка
Саныч Отправлено: 31 Октября, 2010 - 20:20:27 • Тема: Не знаю как сделать, помогите плиз • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 74
OrmaJever, вот так будет правильней
PHP:
скопировать код в буфер обмена
  1. if(strpos($_POST['text'],'ой') !== false)

Но это не то. Человек просил окончание...
Саныч Отправлено: 31 Октября, 2010 - 19:52:55 • Тема: Обрезка перемнной, но этак странно... Посмотрите) • Форум: Программирование на PHP

Ответов: 9
Просмотров: 540
А что вам мешает просто не добавлять остальные части?

Страниц (91): В начало « ... 75 76 77 78 [79] 80 81 82 83 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB