Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/55: Рейтинг темы: голосов - 55, средняя оценка - 4.87
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991

Авторизация с сессией , php+mysql , session_start

08.07.2019, 22:15. Показов 10665. Ответов 16

Студворк — интернет-сервис помощи студентам
Привет всем! Вспоминаю PHP в связи с началом программирования под Android. Написал несколько страниц по выборке, редактированию данных в формате JSON. Все работает. На стороне файла db_connect.php стоит временная заглушка, где логин, пароль,хост и база вшита уже.(для тестирования). К нему идет подключение из всех страниц с CRUD и в общем то в тесте все работает как надо.
На стороне сервера MySql используется родная авторизация, с прописанными ролями ,триггерами, функциями (то есть без дополнительных велосипедов в виде таблицы users и проч.) И тоже все работает как надо.

Формат работы с php+mysql: точечное соединение/запрос/закрытие соединения. Пароль и логин храниться в классе Java на android (не в инет браузере, а в приватном классе скомпилированного приложения в sndroid. И то только ,если пароль и логин успешный. ). Никаких куков, сессий нет. То есть порядок следующий - подключился/ запросил/отключился.

Но вопрос в общем то назрел, не в разрезе android, а в разрезе PHP, давно хотел дожать. Смотрите, есть небольшой код авторизации на PHP, написал ради теста. Код простой. Я написал простую форму авторизации.

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

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
<?php
 
 if (isset($_POST['btn'])) {
     
if (empty($_POST['login']) || empty($_POST['pass'])) 
    
{
    echo "Вы что-то не заполнили";
    
} else {
    $log=$_POST['login'];
    $pass=$_POST['pass'];
    $con= mysqli_connect('localhost',$log,$pass,'test_db');
 
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
 
    }
mysqli_close($con);
 
    }
?>
Добавлено через 26 минут
help)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.07.2019, 22:15
Ответы с готовыми решениями:

session_start(); [PHP регистрация и авторизация]
Столкнулся с проблемой как сделать старт сессии? Пишу session_start(); Ошибка. + как сделать если успешно зарегистрировался то тебя...

авторизация, трабл с сессией
include 'confing.php'; if (isset($_POST) &amp;&amp; isset($_POST)) { $login = mysql_real_escape_string($_POST); $password =...

Авторизация php mysql
Всем привет! друзья. Не могу найти ошибку. Значит форма регистраций я написал, всё работает заноситься в базу данных всё. А вот дальше при...

16
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
08.07.2019, 22:27
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Вспоминаю PHP в связи с началом программирования под Android
ничесе! Круто, скоро и яблочники подтянутся ))

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
<?php
 
 session_start();
 
 if (isset($_POST['btn'])) {
     
if (empty($_POST['login']) || empty($_POST['pass'])) 
    
{
    echo "Вы что-то не заполнили";
    
} else {
 
    $con= mysqli_connect('localhost','admin_db','pass_db','test_db');
 
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
 
$log=mysqli_real_escape_string($con, $_POST['login']);
$pass=mysqli_real_escape_string($con, $_POST['pass']);
$sql = mysqli_query($con, "SELECT id FROM users WHERE login = '$log' AND pass = '$pass'");
$row = mysqli_fetch_array($sql);
 
if(!empty($row['id'])){
    $_SESSION['id_user'] = $row['id'];
}
 
    }
mysqli_close($con);
 
    }
?>
secrt_page.php:
PHP
1
2
3
4
5
session_start();
 
if(!empty( $_SESSION['id_user'])){
    echo 'Привет '.$_SESSION['id_user'].'!';
}
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
08.07.2019, 23:19  [ТС]
Спасибо за царский подгон!

Но я чет в родном mysql не вижу таблицы users)) Есть только таблица user.
Еще раз говорю , что у меня родная аутентификация на сервере, под родной интерфейс mysql Без создания дополнительной таблицы users.

Добавлено через 33 минуты
Так то при наличии дополнительно созданной таблицы users, с любезно созданными полями user,pasword и полем хранящем ид сессии любой может запросить и сверить idшник сессии.)

Кто может справиться с mysql_native_password в разрезе сессии? То есть с хранением сессии при нативной защите MySQL?
Без велосипеда в виде дополнительно созданной таблицы users?
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
08.07.2019, 23:20
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Но я чет в родном mysql не вижу таблицы users)) Есть только таблица user.
А в таблице user есть поля login и pass? Я привел пример кода, естественно там нужно прописать свои данные.

Цитата Сообщение от Сергей1980 Посмотреть сообщение
у меня родная аутентификация на сервере, под родной интерфейс mysql
возможно я не понял задачу. То есть нужно подключаться к БД через сессию? Тогда так:
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
 session_start();
 
 if (isset($_POST['btn'])) {
     
if (empty($_POST['login']) || empty($_POST['pass'])) 
    
{
    echo "Вы что-то не заполнили";
    
} else {
 
    $log=mysqli_real_escape_string($con, $_POST['login']);
    $pass=mysqli_real_escape_string($con, $_POST['pass']);
    $con= mysqli_connect('localhost',$log,$pass,'test_db');
 
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}else{
    $_SESSION['login'] =  $log;
    $_SESSION['pass'] = $pass;
}
 
    }
mysqli_close($con);
И дальше смотреть если есть сессии, то подключаемся по ним, если есть POST, то по нему.

Или я вообще не понял что такое:
Цитата Сообщение от Сергей1980 Посмотреть сообщение
у меня родная аутентификация на сервере, под родной интерфейс mysql
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
08.07.2019, 23:34  [ТС]
Да
Цитата Сообщение от sasha0012 Посмотреть сообщение
А в таблице user есть поля login и pass? Я привел пример кода, естественно там нужно прописать свои данные.
Да, конечно есть, это служебная таблица mysql, там очень много полей, вот к примеру скрин:
Кликните здесь для просмотра всего текста


Там есть основные поля, логин, хост и пароль. Пароль естественно зашифрован, и называется даже не паролем, а authentification string. Там дичь вида 1B84707ав.D5C041B84707ывыв1B84707. В общем это взрослая аутентификация.
Настоящая.
ИМХО наверное сессию при использовании родной защитой MYSQL из коробки не поднять. (точней ей никак не возпользоваться.)
Спасибо за пример , сейчас потестю, Может как то юзануть и получиться!
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.07.2019, 23:35
Сергей1980, только нужно учитывать, что данные, которые вы записываете в сессию, хранятся в открытом виде в текстовых файликах на сервере. Это не критично, но более надёжный вариант - отдельная таблица user/users, где вместо пароля хранится его хеш.
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
09.07.2019, 00:13  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
Сергей1980, только нужно учитывать, что данные, которые вы записываете в сессию, хранятся в открытом виде в текстовых файликах на сервере. Это не критично, но более надёжный вариант - отдельная таблица user/users, где вместо пароля хранится его хеш.
да да, понимаю, но users согласитесь это велосипед. Потому что уже на самом mysql в чистом виде вы можете создавать полноценного пользователя( логин ,пароль, поведение, права по умолчанию и пр..), и там есть (в системной таблице mysql.user) то же самое захешированное поле пароль (Только называется оно authentification string ). И задать этому пользователю силами MySQL можно доступ к любому объекту базы с любыми правами (У меня к примеру на MySQL реализованы права даже до уровня полей в таблице, может он менять значение данного поля ,или нет , имеет ли доступ к сохраненной процедуре или нет, итд.. Даже если ломанут логин и пароль, то только в рамках его прав, выше - на уровень root хрен, реально хрен. А вот если с доп таблицей users, то это та еще дыра.)

Я давно ничего не писал на PHP, знания посредственные. Но по сравнению с той же java, язык дружелюбный и понятный. Особых опасений хранить логин и пароль (после успешного подключения естественно-верный логин и пароль, и на время работы андроид приложения) в классе java нет. Там хрен сломаешь, если только кто то вирусов напустит на телефон, типа пунто свитчера))

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

Но такая методика в PHP+MySQL для браузерного варианта приложения вижу не работает без велосипедов((. По сути $_SESSION, $_SERVER и прочие это глобальные переменные, которые можно угнать. Сколько не соли их((

А можно в PHP в качестве глобальной переменной хранить объект типа Connection? и обращаться к нему при необходимости? C ООП на этом уровне проблем нет, может класс какойнить есть по данному примеру?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
09.07.2019, 01:04
Лучший ответ Сообщение было отмечено Сергей1980 как решение

Решение

Цитата Сообщение от Сергей1980 Посмотреть сообщение
но users согласитесь это велосипед
Аналогично можно сказать, что пользователи БД - это велосипед, ведь у нас уже есть функционал управления пользователями, встроенный в операционную систему.

Пользователь сайта - это всё таки другая сущность, нежели пользователь базы данных, у него другое предназначение. К примеру, если у нас есть интернет-магазин, мы можем каждый день создавать сотни новых пользователей, но все они будут работать под одним и тем же пользователем СУБД. Потому что у всех у них должны быть одни и те же права в рамках СУБД, но у них могут быть различия в рамках самого приложения (размер скидки, например).

Цитата Сообщение от Сергей1980 Посмотреть сообщение
пароля в приватном классе андроид приложения
С Андроидом не работал, поэтому, к сожалению, не понимаю, о чём идёт речь.

Цитата Сообщение от Сергей1980 Посмотреть сообщение
По сути $_SESSION, $_SERVER и прочие это глобальные переменные, которые можно угнать.
Не совсем так, я говорил скорее про минимизацию потерь в случае взлома. Меньше узких мест - крепче спишь.

Цитата Сообщение от Сергей1980 Посмотреть сообщение
А можно в PHP в качестве глобальной переменной хранить объект типа Connection?
Что вы имеете ввиду под глобальной переменной? Есть подозрение, что мы можем говорить о разных вещах.

Если вы говорите именно про PHPшные глобальные переменные - то можно, но лучше подойдёт паттерн Синглтон. Он простой, в сети есть куча примеров.
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
09.07.2019, 17:51  [ТС]
Цитата Сообщение от sasha0012 Посмотреть сообщение
То есть нужно подключаться к БД через сессию? Тогда так:
Спасибо большое, да, использовать сессию для обращения и подключения к БД, то есть при успешном вводе логина и пароля ,хранить значение логина и пароля в сессии, (как в вашем примере) на время жизни работы браузера/время жизни сессии.


Алгоритм работы сессии стал понятен. Мне было ценно понять, как вообще работает сессия. Оказывается там можно хранить вообще все что угодно, и в рамках id её тягать оттуда ,то что ты записал туда. Еще раз спасибо!

Как понимаю, вот так делать не надо с позиции безопасности?
else{
$_SESSION['login'] = $log;
$_SESSION['pass'] = $pass;

}


Добавлено через 51 минуту
FOR JODAN:


Цитата Сообщение от Jodah Посмотреть сообщение
Аналогично можно сказать, что пользователи БД - это велосипед, ведь у нас уже есть функционал управления пользователями, встроенный в операционную систему.
По сути- да, но там все вылизано и выхолощено с точки зрения безопасности. Разработчиками SUN/ORACLE. Мы так не напишем как они)

Цитата Сообщение от Jodah Посмотреть сообщение
Пользователь сайта - это всё таки другая сущность, нежели пользователь базы данных, у него другое предназначение
Вы правильно подметили, остальной народ не понял сначала. У меня действительно проект, в котором юзер- пользователь базы. Прекрасно понимаю о чем вы говорите, соединение под своей учеткой операция дорогая и mysql не может держать много открытых разных учеток в одно и то же время. Можно создать одну учетку SomeUser к примеру, дать ей доступ к таблице users (которую мы дополнительно создали), определить правила обработки данной таблицы и других таких же созданных нами таблиц при помощи процедур ,триггеров, функций. И все это будет крутиться по сути под одной учетной записью. Для всех пользователей, которые заходят в БД. Просто с учетом правил они будут видеть то, что относиться к ним , исходя к примеру из ID таблицы users, которую можно выбрать только в том случае если session_id на клиенте и в этой таблице совпадает) Я делал такую штуку сам, причем в MS Access, когда не знал как использовать sql server.)

Цитата Сообщение от Jodah Посмотреть сообщение
С Андроидом не работал, поэтому, к сожалению, не понимаю, о чём идёт речь.
Представьте что это просто десктопное приложение,которое просто крутиться на телефоне. По сути так и есть. Вы написали приложение, закомпилировали его в формате apk и запускаете с телефона, либо можно и с компьютера тоже, если закомпилили в jar. Ничего заумного нет)

Цитата Сообщение от Jodah Посмотреть сообщение
Если вы говорите именно про PHPшные глобальные переменные - то можно, но лучше подойдёт паттерн Синглтон. Он простой, в сети есть куча примеров.
Синглтон был моим первым паттерном на Java который я прочитал и выучил) Давайте сравним их в разрезе синглтона, который подключается к БД на php mySql:
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
<?php
 
class DB
{
    private static $_instance = null;
    
    // для безопасности настройки лучше хранить в файле с конфигом
    private static DB_HOST = '';
    private static DB_NAME = '';
    private static DB_USER = '';
    private static DB_PASS = '';
 
    private function __construct () {
        
        $this->_instance = new PDO(
            'mysql:host=' . self::DB_HOST . ';dbname=' . self::DB_NAME,
            self::DB_USER,
            self::DB_PASS,
            [PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"]
        );
 
    }
 
    private function __clone () {}
    private function __wakeup () {}
 
    public static function getInstance()
    {
        if (self::$_instance != null) {
            return self::$_instance;
        }
 
        return new self;
    }
}


А вот Java:

Кликните здесь для просмотра всего текста
Java
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
import com.mysql.jdbc.Connection;
import java.sql.*;
import java.sql.DriverManager;
 
public final class MysqlConnect {
    public Connection conn;
    private Statement statement;
    public static MysqlConnect db;
    private MysqlConnect() {
        String url= "jdbc:mysql://localhost:3306/";
        String dbName = "database_name";
        String driver = "com.mysql.jdbc.Driver";
        String userName = "username";
        String password = "password";
        try {
            Class.forName(driver).newInstance();
            this.conn = (Connection)DriverManager.getConnection(url+dbName,userName,password);
        }
        catch (Exception sqle) {
            sqle.printStackTrace();
        }
    }
   
    public static synchronized MysqlConnect getDbCon() {
        if ( db == null ) {
            db = new MysqlConnect();
        }
        return db;
 
    }
 
}


Смысл понятен, метод класса возвращает объект "соединение с БД", если старого нет, или оно умерло. Кстати в java припилен дополнительно метод syncronized в моем примере, который под подключение вызывает отдельный поток ,который не тормозит выполнение другого кода программы. И ускоряет работу приложения. В PHP наверное тоже можно.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
09.07.2019, 19:16
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Для всех пользователей, которые заходят в БД.
На всякий случай уточню - в случае веба юзер не заходит в базу. Он обращается к серверу, который может обратиться к базе. Напрямую юзер с базой не взаимодействует.

Отсюда другой нюанс:
Цитата Сообщение от Сергей1980 Посмотреть сообщение
определить правила обработки данной таблицы и других таких же созданных нами таблиц при помощи процедур ,триггеров, функций
Не только СУБДшный функционал. Например, мы можем получить из БД текущего пользователя, затем средствами PHP проверить, скажем, столбец is_admin и если он равен 0, запретить доступ к странице сайта. Это будет происходить уже средствами PHP, база только предоставляет нужную информацию.

Цитата Сообщение от Сергей1980 Посмотреть сообщение
Вы написали приложение, закомпилировали его в формате apk и запускаете с телефона
Понял.

Цитата Сообщение от Сергей1980 Посмотреть сообщение
Давайте сравним их в разрезе синглтона
Семантически похожи. Только в PHPшном варианте вместо static DB_HOST должно быть const DB_HOST, поскольку идёт объявление константы, а не обычной переменной.
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
09.07.2019, 20:01  [ТС]
Эти все вопросы по топику у меня появились, когда я захотел сделать веб интерфейс для моей базы, которая крутится на mySql

На стороне клиента 2 варианта:
1) Клиент на Андроид - юзает сервер /базу через Retrofit, все Ок.
2) Клиент на MS Access юзает напрямую mySql через ODBC, все Ок.
3) Судорожно вспоминаю PHP с позиции как грамотно организовать авторизацию, защищенную)) Решил написать морду на HTML+JS+PHP+MySQL.

Цитата Сообщение от Jodah Посмотреть сообщение
На всякий случай уточню - в случае веба юзер не заходит в базу. Он обращается к серверу, который может обратиться к базе. Напрямую юзер с базой не взаимодействует.
Как вы думаете,в моем случае может не использовать сессию и куки вообще? Действительно в одном файле написать подключение, используя синглтон, а потом из всех других страничек проекта обращаться к этой, где раздается подключение в формате PDO?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
09.07.2019, 20:04
Сергей1980, а какая перед вами стоит задача?
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
09.07.2019, 20:18  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
Сергей1980, а какая перед вами стоит задача?
Простой CRUD в рамках трех-четырех таблиц/вьюшек. Упрощенный формат посмотреть данные

1) пользователь заходит на сайт, вводит логин и пароль (авторизация native MySql) . При успешном вводе логина и пароля устанавливается подключение с базой. (Ваш пример с синглтоном и PDO отличнейший!)
2) В рамках созданного успешного соединения появляется возможность использовать SELECT/UPDATE/INSERT/DELETE в рамках своей роли (у меня это все реализовано уже).

Ну то есть оформить синглтон в виде отдельного файла, типа connect.php а потом отовсюду его дергать:
PHP
1
2
3
...
require_once 'connect.php';
...
Только туда передать логин и пароль , к примеру через POST, и нигде не хранить. Обработать подключение , и при успешной авторизации, как раз и пользоваться им дальше. (банально if $conn==true переход на страницу два, и дальнейшая работа с успешным $conn )

Если он что то выдает , то соответственно выборка пойдет. А если нет, то просто запрос/ы не выполнятся.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
09.07.2019, 22:12
Сергей1980, понятно.

Проблема в том, что PHP скрипт запускается и умирает при каждом http-запросе. Нельзя создать объект PDO и сохранить его куда-то, чтобы он был доступен сразу в нескольких http-запросах. При каждом запросе мы создаём новый объект PDO.

Сессии или куки в любом случае нужны, поскольку позволяют идентифицировать пользователя между http-запросами.

В общем, наиболее распространённое решение - создаём таблицу users, в которой есть как минимум id | login | password. И при успешной авторизации сохраняем id юзера в сессию. Тогда никаких логинов и паролей в сессии хранить не нужно. В PDO для всех прописываем одни и те же реквизиты доступа.

Если хотите использовать ваш подход, в котором пользователь сайта == пользователь базы, тогда, видимо, придётся хранить логин и пароль в сессии, поскольку в каждом http-запросе вам потребуется подставлять их в PDO.
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
10.07.2019, 00:03  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
Проблема в том, что PHP скрипт запускается и умирает при каждом http-запросе. Нельзя создать объект PDO и сохранить его куда-то, чтобы он был доступен сразу в нескольких http-запросах. При каждом запросе мы создаём новый объект PDO.
Цитата Сообщение от Jodah Посмотреть сообщение
Если хотите использовать ваш подход, в котором пользователь сайта == пользователь базы, тогда, видимо, придётся хранить логин и пароль в сессии, поскольку в каждом http-запросе вам потребуется подставлять их в PDO.
Как ножом по сердцу))

Ясно, спасибо, а как к примеру настроить сессию таким образом, чтобы если нет никакой активности пользователя к примеру 3 минуты она автоматом ликвидировалась . И при закрытии браузера соответственно тоже ликвидировалась автоматом.

Добавлено через 26 минут
Надо еще по ходу будет сделать отсечки по IP адресу, включить список адресов, с которых можно будет работать пользователю. Думаю это устранит большинство проблем с безопасностью.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
10.07.2019, 15:02
Цитата Сообщение от Сергей1980 Посмотреть сообщение
а как к примеру настроить сессию таким образом, чтобы если нет никакой активности пользователя к примеру 3 минуты она автоматом ликвидировалась
Если не ошибаюсь, настройки называются session.gc_maxlifetime и session.cookie_lifetime

Цитата Сообщение от Сергей1980 Посмотреть сообщение
И при закрытии браузера соответственно тоже ликвидировалась автоматом.
Для большинства браузеров это так и работает, кроме Chrome.
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
12.07.2019, 00:13  [ТС]
Спасибо!
C chrome конечно пришлось повозиться, убрать галочку в настройках хрома можно конечно, но юзеров всех кто работает на хром не заставить же залазить в хром и проставлять в чекбоксе отменить автосохранение )

Как раз при помощи установки времени жизни сессии и удалось решить данный вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.07.2019, 00:13
Помогаю со студенческими работами здесь

Авторизация php+mysql
Есть у кого скрипт авторизации на php + mysql, без куков желательно. Если не лень может кто переделать name это логин, pass пароль,...

Авторизация PHP-MySQL
Суть проблемы в том, что не проходит авторизация через ajax Код главной страницы &quot;index.php&quot; &lt;html&gt; &lt;head&gt; ...

авторизация (php+mysql)
Всем привет. Нужна помощь в создании авторизации. Я делаю авторизацию такую: Сначала открывается страница авторизации с регистрацией...

регистрация и авторизация на php mysql
Регистрируюсь и все заносится в базу данных, но при входе на сайт все равно выводится что я захожу как гость. Почему? Как это исправить? ...

Авторизация по MySQL через PHP
Здравствуйте, у меня есть код C# который должен отправлять POST запрос к PHP файлу, но как реализовать сам PHP файл я не знаю. Чтобы он...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru