|
|
|
| У меня база в Mysql, в ней две таблицы( students и teachers). в каждой уже есть посетители с логинами и паролями. (столбцы: imya, login,parol)
можете помочь со скриптом не могу сделать обыкновенную авторизацию.Спасибо! | |
|
|
|
|
|
|
|
для: Софья1
(06.09.2014 в 18:57)
| |
<?php
session_start();
function auth($login, $password)
{
$res = mysql_query('SELECT `id`, `imya`, `login`, `parol` FROM `'.USER_TABLE.'` WHERE `login` = "'.mysql_real_escape_string($login).'"');
$data = mysql_fetch_array($res);
if($data['login'] == $login && $data['parol'] == md5(md5($data['login']).md5($password)))
{
$session = $data['id'];
$agent = md5($_SERVER['HTTP_USER_AGENT']);
return array($session, $agent);
}
return false;
}
if(isset($Submit))
{
if(($login = trim($_POST['login'])) && $password = trim($_POST['parol']))
{
list($session, $agent) = auth($login, $password);
if($session)
{
$_SESSION['valid_user'] = $session;
$_SESSION['HTTP_USER_AGENT'] = $agent;
header('location:?success');
}
else
header('location:?error');
}
else
header('location:?empty');
}
?>
|
| |
|
|
|
|
|
|
|
для: moonfox
(06.09.2014 в 22:21)
| | не очень хороший пример с точки зрения логики ("агент" в auth, транслит, md5md5) и сама реализация не айс (странное расставление скобок и будут notice) | |
|
|
|
|
|
|
|
для: psychomc
(07.09.2014 в 01:34)
| | какой транслит?
какие скобки?
почему у меня нет нотисов? они включены)
чем вам агент там не подходит?
))))) | |
|
|
|
|
|
|
|
для: moonfox
(07.09.2014 в 03:27)
| | "parol" - это на каком языке?
если здесь mysql_fetch_array вернет false
$data = mysql_fetch_array($res);
|
то здесь по-вашему не будет notice?
if($data['login'] == $login && $data['parol'] == md5(md5($data['login']).md5($password)))
|
или если здесь auth вернёт false
list($session, $agent) = auth($login, $password);
|
тоже notice не будет?
))))))))))))))))))))))))))))))))) | |
|
|
|
|
|
|
|
для: psychomc
(07.09.2014 в 14:19)
| | parol это не мое если вы не заметили) это из таблицы мадемуазель.
да и это не имеет отношения к работоспособности
остальные два случая не возвращают undefind
как ни странно ? я вот щас тож подумал, почему их нет...
кстати можно и проверить на существование коль если было бы и так) | |
|
|
|
|
|
|
|
для: psychomc
(07.09.2014 в 14:19)
| | хм....
в чем засада?)))
если написать
print_r($ttt);
if($data['login'] == .......
я таки получаю, Undefined variable: tttt D:\vhosts\flat\base\func.php in line: 14
но с пустой $data - все норм)))))
вай вай, если вызвать print_r($data) до $data = $this->result->fetch_array(MYSQLI_ASSOC);
- будет nitice
так, почему же его нет после попытки получить массив? который не формирунтся
<?php
class login extends db
{
protected $session;
protected $agent;
function auth($name, $password)
{
$sql = 'SELECT * FROM `'.USER_TABLE.'` WHERE `login` = "'.$this->mysqli->real_escape_string($name).'";';
$this->result = $this->mysqli->query($sql);
print_r($data); // notice
$data = $this->result->fetch_array(MYSQLI_ASSOC);
print_r($data); // нет notice
if($data['login'] == $name && $data['pass'] == md5(md5($data['milo']).md5($password)))
{
$this->session = $data['id'];
$this->agent = md5($_SERVER['HTTP_USER_AGENT']);
return array($this->session, $this->agent);
}
return false;
}
}
?>
|
| |
|
|
|
|
|
|
|
для: moonfox
(07.09.2014 в 19:17)
| | что вы за чушь пишите?
<?php
print_r($data); // notice
$data = $this->result->fetch_array(MYSQLI_ASSOC);
print_r($data); // нет notice КОНЕЧНО ЖЕ ЗДЕСЬ ЕГО НЕТ, ПОТОМУ ЧТО $data ОПРЕДЕЛЕНА НА ПРЕДЫДУЩЕЙ СТРОКЕ
|
засада в мануале. | |
|
|
|
|
|
|
|
для: psychomc
(07.09.2014 в 21:08)
| | ох пустая переменная ...
совсем профтыкал
почему должен вообще быть нотис?
data = null | |
|
|
|
|
|
|
|
для: moonfox
(07.09.2014 в 21:24)
| | я уже написал про мануал | |
|
|
|
|
|
|
|
для: psychomc
(07.09.2014 в 22:50)
| | ссылку можно? что конкретно вы хотите чтоб я увидел?
у вас нотис есть? | |
|
|
|
|
|
|
|
для: moonfox
(07.09.2014 в 22:54)
| | мне, чтобы понять что будет notice, не обязательно запускать этот "скрипт".
http://php.net/manual/en/errorfunc.configuration.php#ini.error-reporting | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 11:22)
| | вы проверьте
и объясните почему его нет. | |
|
|
|
|
|
|
|
для: moonfox
(08.09.2014 в 16:47)
| | где нет? здесь?
<?php
print_r($data); // notice
$data = $this->result->fetch_array(MYSQLI_ASSOC);
print_r($data); // нет notice
|
я же уже объяснил. что не понятно? | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 17:50)
| | нет не здесь, здесь я сам протупил.
вы вообще поняли суть запроса?
этим самым вы сами отвечаете на свое "там будет нотис"
$var = null;
echo $var[0];
так вот и расскажите почему должен быть нотис?
приведенный ранее пример не оповещает ни о каких замечаниях. | |
|
|
|
|
|
|
|
для: moonfox
(08.09.2014 в 17:54)
| | да, пардон. мой факап, notice будет только если $var массив. проблема в том, что все равно вот так
<?php
$data = mysql_fetch_array($res);
if($data['login'] == $login && $data['parol'] == md5(md5($data['login']).md5($password)))
{
|
писать неправильно, правильно будет вот так
<?php
if ($data = mysql_fetch_array($res)) {
if($data['login'] == $login && $data['parol'] == md5(md5($data['login']).md5($password)))
{
|
хотя бы с точки зрения дальнейшего сопровождения кода, потому как совсем не обязательно, что в скобках будут те же проверки и не появится каких-либо действий, который там однозначно быть не должно, если mysql_fetch_array вернет false | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 18:06)
| | ну это такое дело)
конечно стоит как вы указали)
спасибо за дискуссию. | |
|
|
|
|
|
|
|
для: moonfox
(08.09.2014 в 18:09)
| | взаимно. открыл для себя странность в php с $boolean_var['undefined'] | |
|
|
|
|
|
|
|
для: Софья1
(06.09.2014 в 18:57)
| | Софья, в сети полно скриптов авторизации и регистрации. Я тут выкладывал простенькое решение одним файлом http://softtime.ru/forum/read.php?id_forum=1&id_theme=85497
А вот то что у вас две разные таблицы students и teachers это плохо (очень плохо). Должна быть одна единственная таблица пользователей, а у ж кто они там учителя, студенты, уборщицы, ректоры - это должно быть отражено на уровне данных, а не на уровне сущности таблиц., по крайней мере для авторизации. | |
|
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 11:23)
| | вам бы для начала не мешало посмотреть на дату того поста, а так же не мешало бы представить свой вариант скрипта, прежде чем гундеть во все стороны. | |
|
|
|
|
|
|
|
для: Valick
(08.09.2014 в 19:22)
| | Что-то вроде "сначала добейся"? Я просто считаю, что лучше ничего, чем пример с ошибками. У меня, к сожалению, нет времени на это. Давно не пишу в процедурном стиле | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 19:52)
| | Ну раз нет времени, то лучше наверно ничего и не писать.
Хотя много времени не надо, взять мой пример и исправить "по вашему" ошибки, кстати тема та для этого и создавалась, только что-то два года назад вас там не было видно.
И кстати если вы не пишите процедурным (но это не мешает вам критиковать процедурный код на право и на лево), то могу себе представить как вы говнокодите ООП. | |
|
|
|
|
|
|
|
для: Valick
(08.09.2014 в 20:00)
| | давайте, я буду сам решать что мне писать и где мне писать, ок? я не критикую процедурный код, я критикую ошибки в процедурном коде. а то, как я пишу используя ООП...представляйте, ради бога :) | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 20:53)
| | Вот у вас либо борзомертр зашкаливает, либо слабоумие прогрессирует, хотя скорее всего одно другому не мешает, а точнее первое следствие второго.
Давайте я сам буду решать писать мне код с ошибками или не писать совсем ничего, ок?
А то как вы пишите используя ООП можно и показать, а не с умным выражением лица сетовать на отсутствие времени, поверьте его много кому не хватает и вообще тема висит несколько дней, я же не говорю что "код в студию через 5 минут". Вы правда считаете, что я хожу на форум, только лишь для того чтобы уличить вас или кого-либо еще в каких-то ошибках? Поверьте это не так. Я тут спорю иногда с конфирмом, да и то не то что спорю, а дискутирую, потому что мне интересно с ним беседовать и он может действительно сказатьи что важнее показать что-то умное, хотя иногда и придирается к другим больше чем к себе. А вот вы увы покамест мне не интересны, мелковат, так сказать, уровень ;) | |
|
|
|
|
|
|
|
для: Valick
(08.09.2014 в 21:09)
| | в каком смысле показать? создавать самому темы на форуме и выкладывать здесь свой код, просто так от нечего делать, типа "посмотрите как я пишу на ООП"? это зачем? я же написал что нету времени и не пишу в процедурном стиле, т.е желания тоже нету писать. только ради вас я это делать не буду.
кстати, как это вы определили мой уровень? есть какая-то универсальная мерялка? :) хотя можем и померяться...вот один из моих проектов https://www.nhs.uk/parentingquiz/, разработан лично мною для британской корпорации здравоохранения (NHS). есть много вещей для не менее известных XFactor. готовы похвастаться подобным проектом или клиентом? заодно определим ваш уровень, мелковат он или нет :) | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 21:34)
| | mail.ru знаете? я лично писал от начала до конца (включая все игры) причём процедурным стилем ;)
достаточно или вам еще и про то кто гугл, со всеми его мапсами-шмапсами написал рассказать?
> кстати, как это вы определили мой уровень?
ну мы же с вами не первый день на форуме, я же вижу что и как вы отвечаете.
> заодно определим ваш уровень, мелковат он или нет :)
можно подумать я вам запрещаю читать форум и определять мой уровень :) | |
|
|
|
|
|
|
|
для: Valick
(08.09.2014 в 21:43)
| | о, хоспади. да, я пришёл на этот форум чтобы обманывать и понтоваться. теперь верите? https://www.nhs.uk/parentingquiz/hello.php
так будет какой-нибудь интересный проект/клиент от вас, или что-то значимое например? то, кто как пишет на форуме, это совсем не уровень. может быть я вообще сюда захожу оттого что мне скучно? | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 21:52)
| | это говорит только о том что у вас есть туда доступ, не более того ;)
доказательств того что вы сами одним умом делали эту игру, вы мне предоставить не сможете, да и меня это не интересует, есть этот конкретный форум, здесь и показывайте свой уровень знаний, ну или не показывайте, я лично ничего не требую. Кроме одного, предъявляя кому-то претензии, будьте любезны играть по тем же правилам. | |
|
|
|
|
|
|
|
для: Valick
(08.09.2014 в 21:59)
| | OMG. я не только не смогу, но и не буду. много чести. играю я по своим правилам или не играю вообще | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 22:03)
| | играйте вам никто не запрещает, только не надо навязывать свои правила другим | |
|
|
|
|
|
|
|
для: psychomc
(08.09.2014 в 20:53)
| | Молодой человек, а разве ОО код не может содержать тех же самых ошибок? или вы под ОО кодом имеете в виду какой-то фреймворк типа битрикса? | |
|
|
|
|
|
|
|
для: Enter
(09.09.2014 в 10:21)
| | причем тут вообще то, что он может содержать или не содержать? речь не об этом была | |
|
|
|
|
|
|
|
для: psychomc
(09.09.2014 в 11:13)
| | при том, что ОО код содержит то, что содержит и процедурный. или вы как-то иначе делаете объявление переменных внутри методов, проверяете их типы и т.д. | |
|
|
|
|
|
|
|
для: Enter
(09.09.2014 в 11:17)
| | ... причем тут это? вы сейчас наверное себя этаким колумбом возомнили и окрыли мне америку. я упоминал здесь про ооп только потому, что я пишу на нём и не могу показаться свой пример авторизации, т.к у меня его нету в рабочем, доходчивом и понятном виде для новичка, у меня есть классы, зависимости и автозагрузчики. и выкладывать здесь это смысла нет никакого. переделывать его в процедурный стиль тоже очень и очень не быстро. вы, если уж влазите в чужой разговор, то хотя бы минимально поймите суть | |
|
|
|
|
|
|
|
для: psychomc
(09.09.2014 в 11:22)
| | суть-то я как раз и понимаю. вы дали ссылку на error-reporting. Причем тут ОО код? Если речь идет о протоколировании ошибок, то хоть ОО код, хоть процедурный - сути не меняет. Причем тут парадигмы вообще, если это низкий уровень пхп?
Если у вас нет примера в рабочем виде, то это как минимум странно, не находите? Из выше сказанного вами, я мог понять, что у вас вообще нет рабочего кода.
Если ваш ОО код имеет столько зависимостей, то это не очень хороший код, согласитесь. Как вы его будете использовать в других проектах? Переносить все зависимости, которые не будут нужны? Учите паттерны, особенно DI. | |
|
|
|
|
|
|
|
для: Enter
(09.09.2014 в 11:37)
| | ахаха)) ну спасибо конечно, что направили на путь истинный) жду от вас проект на MVC вообще без зависимостей :D
p.s нет, вы вообще ничего не понимаете до сих пор о том, почему я дал ссылку на error_reporting и почему писал про ооп. да и не надо. вам пишешь про зелёное, вы отвечаете про кислое. | |
|
|
|
|
|
|
|
для: psychomc
(09.09.2014 в 12:03)
| | >почему я дал ссылку на error_reporting
Я, как понял, вы хотели показать, что это ваш ресурс? Правильно? | |
|
|
|
|
|
|
|
для: psychomc
(09.09.2014 в 12:03)
| | да, я не понимаю, причем тут та ссылка и ООП. | |
|
|
|
|
|
|
|
для: Софья1
(06.09.2014 в 18:57)
| | Вообще-то, хранить учетные записи в двух разных таблицах не дело - как минимум потребуется больше обращений к БД. Проще сделать одну таблицу с дополнительным полем, в котором будет указываться, кем является пользователь, преподавателем или студентом.
Вот пример скрипта авторизации с учетом того, что пользователи находятся в двух таблицах:
<?php
session_start();
$username = $_SESSION["username"];
$password = $_SESSION["password"];
$user_status = false;
if (!empty($username) && !empty($password)){
$q = "SELECT `id`, `imya`, `login`, `parol`, 'student` AS `status` FROM `students` WHERE `login` = '$username' AND `password` = MD5('$password')";
$q .= " UNION SELECT `id`, `imya`, `login`, `parol`, 'teacher' AS `status` FROM `teachers` WHERE `login` = '$username' AND `password` = MD5('$password')";
$r = mysql_query($q);
if ($r){
$user = mysql_fetch_assoc($r);
$user_status = $user["status"];
}
}
if (!$user_status && isset($_POST["auth"])){
//Если пользователь не авторизован и отправлена форма авторизации
//В форме авторизации кнопку прописываем так: <input type="submit" name="auth" value="Войти на сайт" />
$auth_errors = array();
if (empty($_POST["username"])) $auth_errors[] = "Вы не ввели логин";
if (empty($_POST["password"])) $auth_errors[] = "Нельзя войти на сайт без пароля";
if (empty($auth_errors)){
//Если логин и пароль введены, проверяем, есть ли учетная запись, соответствующая им
$username = mysql_real_escape_string($_POST["username"]);
$password = mysql_real_escape_string($_POST["password"]);
$q = "SELECT `id`, `imya`, `login`, `parol`, 'student` AS `status` FROM `students` WHERE `login` = '$username' AND `password` = MD5('$password')";
$q .= " UNION SELECT `id`, `imya`, `login`, `parol`, 'teacher' AS `status` FROM `teachers` WHERE `login` = '$username' AND `password` = MD5('$password')";
$r = mysql_query($q);
if ($r){
if (mysql_num_rows($r) > 0){
$_SESSION["username"] = $username;
$_SESSION["password"] = $password;
header("Location: ".$_SERVER["HTTP_REFERER"]);
exit();
}
else {
$auth_errors[] = "Указанные учетные данные не зарегистрированы или неверны";
}
}
else {
$auth_errors[] = "Произошла внутренняя ошибка. Попробуйте войти на сайт позднее.";
}
}
}
?>
|
Для простоты я предположил, что пароль находится в базе в виде MD5-хэша. | |
|
|
|
|
|
|
|
для: Commander
(07.09.2014 в 08:18)
| | хорошо.я совместила все в одну таблицу и добавила столбик кто есть кто.
Просто у преподавателя и студента разные должны быть формы внутри.
Авторизация сама получилась.
Как теперь сделать запрос,чтобы для студентов была одна форма а у преподавателей другая?
Новый столбец получился "kto". у преподавателей-пр,у студентов-ст. Таблица называется-kyrsovay | |
|
|
|
|
|
|
|
для: Софья1
(07.09.2014 в 19:30)
| | Не совсем понятно, что именно надо извлечь. | |
|
|
|
|
|
|
|
для: Commander
(07.09.2014 в 19:34)
| | извлекать ничего не надо,как сделать проверку по столбцу "kto"? | |
|
|
|
|
|
|
|
для: Софья1
(07.09.2014 в 19:36)
| | Ловите:
<?php
session_start();
$username = $_SESSION["username"];
$password = $_SESSION["password"];
$user_status = false;
if (!empty($username) && !empty($password)){
$q = "SELECT * FROM `kyrsovay` WHERE `login` = '$username' AND `password` = MD5('$password')";
$r = mysql_query($q);
if ($r){
$user = mysql_fetch_assoc($r);
$user_status = $user["kto"];
}
}
if (!$user_status && isset($_POST["auth"])){
//Если пользователь не авторизован и отправлена форма авторизации
//В форме авторизации кнопку прописываем так: <input type="submit" name="auth" value="Войти на сайт" />
$auth_errors = array();
if (empty($_POST["username"])) $auth_errors[] = "Вы не ввели логин";
if (empty($_POST["password"])) $auth_errors[] = "Нельзя войти на сайт без пароля";
if (empty($auth_errors)){
//Если логин и пароль введены, проверяем, есть ли учетная запись, соответствующая им
$username = mysql_real_escape_string($_POST["username"]);
$password = mysql_real_escape_string($_POST["password"]);
$q = "SELECT * FROM `kyrsovay` WHERE `login` = '$username' AND `password` = MD5('$password')";
$r = mysql_query($q);
if ($r){
if (mysql_num_rows($r) > 0){
$_SESSION["username"] = $username;
$_SESSION["password"] = $password;
header("Location: ".$_SERVER["HTTP_REFERER"]);
exit();
}
else {
$auth_errors[] = "Указанные учетные данные не зарегистрированы или неверны";
}
}
else {
$auth_errors[] = "Произошла внутренняя ошибка. Попробуйте войти на сайт позднее.";
}
}
}
?>
|
Кем является пользователь, записано в $user_status. Если пользователь не авторизован, в этой переменной будет false. | |
|
|
|
|
|
|
|
для: Commander
(08.09.2014 в 04:21)
| | Я бы так переписал Ваш скрипт:
<?php
session_start();
$username = $_SESSION["username"];
$password = $_SESSION["password"];
$user_status = false;
if (!empty($username) && !empty($password)){
$q = "SELECT * FROM `kyrsovay` WHERE `login` = '$username' AND `password` = MD5('$password')";
$r = mysql_query($q);
if ($r){
$user = mysql_fetch_assoc($r);
$user_name = $user['imya'];
$user_login = $user['login'];
#делаем вторичную проверку на нахождение в БД логина и пароля. Вдруг, такого нет.
$qwerty = "select id, kto from `kyrsovay` WHERE `login` = '$user_login' and `imya` = '$user_name'";
$r2 = mysql_query($qwerty);
$user2 = mysql_fetch_assoc($r2);
$user_status = $user2["kto"];
}
}
if (!$user_status && isset($_POST["auth"])){
//Если пользователь не авторизован и отправлена форма авторизации
//В форме авторизации кнопку прописываем так: <input type="submit" name="auth" value="Войти на сайт" />
$auth_errors = array();
if (empty($_POST["username"])) $auth_errors[] = "Вы не ввели логин";
if (empty($_POST["password"])) $auth_errors[] = "Нельзя войти на сайт без пароля";
if (empty($auth_errors)){
//Если логин и пароль введены, проверяем, есть ли учетная запись, соответствующая им
$username = mysql_real_escape_string($_POST["username"]);
$password = mysql_real_escape_string($_POST["password"]);
$q = "SELECT * FROM `kyrsovay` WHERE `login` = '$username' AND `password` = MD5('$password')";
$r = mysql_query($q);
if ($r){
if (mysql_num_rows($r) > 0){
#делаем вторичную проверку на нахождение в БД логина и пароля. Вдруг, такого нет.
$qwerty = "SELECT * FROM `kyrsovay` WHERE `login` = '$username' AND `password` = MD5('$password')";
$r2 = mysql_query($qwerty);
$user = mysql_fetch_assoc($r2);
$user_name = $user['login'];
$user_password = $user['password'];
$_SESSION["username"] = $user_name;
$_SESSION["password"] = $user_password;
header("Location: ".$_SERVER["HTTP_REFERER"]);
exit();
}
else {
$auth_errors[] = "Указанные учетные данные не зарегистрированы или неверны";
}
}
else {
$auth_errors[] = "Произошла внутренняя ошибка. Попробуйте войти на сайт позднее.";
}
}
}
|
но у меня возник вопрос, а почему Вы делаете на сессиях, а не на куках? Еще же можно писать данные в файл, например, $user_login.doc. Есть же много кода для чтения MS Word, или Excel. хотя можно свой формат придумать. Например, основанный на сериализованном json. то есть сначала создаем json, потом его сериализуем, оборачиваем какой-нить md5 и пишем в файл. Потом, естественно, дешифруем и извлекаем из json нужную информацию. Так же проще будет, согласитесь, чем писать логин и пароль в сессию.
и ни в коем случае, ни при каких обстоятельствах, нельзя передавать в сессию значение поля kto. это очень серьезная брешь в системе бИзАпаснАсти будет. так как злоумышленник сможет украсть значение этого поля и узнать, студент это или профессор. Этого ни в коем случае нельзя допустить. поэтому надо все переписать на файлах с особым форматом данных. | |
|
|
|
|
|
|
|
для: Enter
(08.09.2014 в 11:53)
| | Зачем файлы когда есть база данных? А вот про пароль в сессии вы совершенно правы, вообще никакого смысла внесения пароля в сессии нет. Вред есть. Кстати как-то у вас защита от SQL-инъекция кривовато реализована в одном месте есть в другом нет. | |
|
|
|
|
|
|
|
для: KPETuH
(08.09.2014 в 12:03)
| | ну как зачем.. файлам очень обидно, что их вытеснили базы данных, вы понимаете это? вот представьте себя файлом. что вы будете чувствовать, когда на всех форумах пишут, что надо использовать базы данных. | |
|
|
|
|
|
|
|
для: Enter
(08.09.2014 в 12:09)
| | Так как сами БД не обходятся без файлов, не думаю что файлы обижены. | |
|
|
|
|
|
|
|
для: KPETuH
(08.09.2014 в 13:20)
| | тогда это совершенно меняет дело! естественно, что тогда надо делать на БД!!! | |
|
|
|
|
|
|
|
для: Enter
(08.09.2014 в 13:30)
| | Хорошо что мы с вами сошлись во мнении, а то мне как-то без вашего одобрения было неуютно. теперь я снова в форме, спасибо. | |
|
|
|
|
|
|
|
для: KPETuH
(08.09.2014 в 13:38)
| | да всегда пожалуйста. я обожаю помогать людям. | |
|
|
|
|
|
|
|
для: KPETuH
(08.09.2014 в 12:03)
| | >Кстати как-то у вас защита от SQL-инъекция кривовато реализована в одном месте есть в другом нет.
естественно. как и сам скрипт :) | |
|
|
|
|
|
|
|
для: Enter
(08.09.2014 в 12:11)
| | А будет ли работать авторизация в таком варианте при отключённых в браузере cookies? | |
|
|
|
|
|
|
|
для: Grays
(10.09.2014 в 10:57)
| | не будет
в случае с сессиями, при отключенных куках сид можно транслировать в адресную строку
и вообще куки должны быть дополнением, а завязывать на них основную логику лично я никогда не буду, тем более не все данные даже относящиеся к владельцу аккаунта дожны попадать к нему в руки (пусть даже в зашифрованных куках), а до сессий он может добраться только через труп админа | |
|
|
|
|
|
|
|
для: Valick
(10.09.2014 в 11:01)
| | т.е. ни преподаватель, ни студент при отключенных куках в данном случае авторизоваться не сможет.- В последнее время удивляюсь наплевательскому отношению некоторых владельцев сайтов (даже порталов) к их пользователям, хотя, наверно, иногда их подставляют программисты, а сами хозяева ни сном, ни духом не ведают, что у них за порталчик.
"в случае с сессиями, при отключенных куках сид можно транслировать в адресную строку..."
|
и тогда авторизация возможна в любом случае, как это реализовано, к примеру, на phpBB, но, видимо, дополнительно придётся усилить защиту и контроль.- однако выход, получается, есть.
И пару слов о psychomc, я не первый год посещаю этот форум и благодарен ему за высококвалифицированные комментарии по различным темам, впрочем, как и другим программистам за бескорыстную помочь новичкам. | |
|
|
|
|
|
|
|
для: Grays
(10.09.2014 в 10:57)
| | показал табличку "сарказм". | |
|
|
|