Loading...
Свободное общение | SQL инъекция
функции упростят работу а вот код сейчас попробую переписать твой который скинул ))
boglol , не занимайся онанизмом и используй pdo
А именно, подготовленные запросы
________
посл. ред. 25.01.2025 в 23:40; всего 1 раз(а); by Лара
STUDIO , если получиться, я буду настолько рад, большое спасибо *DANCE* *YAHOO*
boglol ,
php
   <?php  // не забудь про подключение к базе данных через pdo  if ($_SERVER['REQUEST_METHOD'] === 'POST') {  $login = escape($_POST['login']); $password = escape($_POST['password']);  if (!empty($login) && !empty($password)) {  $statement = $pdo->prepare('SELECT password FROM users WHERE login LIKE :login LIMIT 1'); $statement->bindParam(':login', $login, PDO::PARAM_STR); $statement->execute(); if ($statement->rowCount() == 1) { $result = $statement->fetch(); if (password_verify($password, $result['password'])) { $_SESSION['login'] = $login; $_SESSION['key'] = generate_key(16); response('/?ok'); } } else { response('/?err'); } } else { response('/?err'); } }  function response($location) { header("Location: $location"); }  function escape($data) { return htmlspecialchars($data, ENT_QUOTES, 'UTF-8'); }  function generate_key($length) { return bin2hex(random_bytes($length)); }   
должно работать, писал чисто по угад без тестирования ))
STUDIO , сейчас протестирую
STUDIO , ничего не понимаю, все так же черный экран..

define('DB_HOST', 'localhost'); // сервер
define('DB_NAME', ''); // имя базы
define('DB_USER', ''); // пользователь
define('DB_PASS', ''); // пароль

try {
// Устанавливаем соединение
$pdo = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=utf8mb4", DB_USER, DB_PASS);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// Оптимизация таблиц
function db_optimize($pdo)
{
set_time_limit(20); // Ограничение по времени
$stmt = $pdo->query('SHOW TABLES');
while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
$tableName = $row[0];
$pdo->exec("OPTIMIZE TABLE `$tableName`");
}
}

// Обработка GET
foreach ($_GET as $key => $value) {
if (is_numeric($value)) {
$value = abs((int) $value);
} else {
$value = htmlspecialchars($value);
}
$_GET[$key] = $value;
}

// Обработка POST
foreach ($_POST as $key => $value) {
if (is_numeric($value)) {
$value = abs((int) $value);
} else {
$value = htmlspecialchars($value);
}
$_POST[$key] = $value;
}

} catch (PDOException $e) {
echo "Ошибка подключения: " . $e->getMessage();
}

даже использовал такое pdo подключение, и всеровно
boglol (26 янв 2025, в 0:06)
STUDIO , ничего не понимаю, все так же черный экран..

define('DB_HOST', 'localhost'); // сервер
define('DB_NAME', ''); // имя базы
define('DB_USER', ''); // пользователь
define('DB_PASS', ''); // пароль

try {
// Устанавливаем соединение
$pdo = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=utf8mb4", DB_USER, DB_PASS);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// Оптимизация таблиц
function db_optimize($pdo)
{
set_time_limit(20); // Ограничение по времени
$stmt = $pdo->query('SHOW TABLES');
while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
$tableName = $row[0];
$pdo->exec("OPTIMIZE TABLE `$tableName`");
}
}

// Обработка GET
foreach ($_GET as $key => $value) {
if (is_numeric($value)) {
$value = abs((int) $value);
} else {
$value = htmlspecialchars($value);
}
$_GET[$key] = $value;
}

// Обработка POST
foreach ($_POST as $key => $value) {
if (is_numeric($value)) {
$value = abs((int) $value);
} else {
$value = htmlspecialchars($value);
}
$_POST[$key] = $value;
}

} catch (PDOException $e) {
echo "Ошибка подключения: " . $e->getMessage();
}

даже использовал такое pdo подключение, и всеровно
php
   <?php  ini_set('display_errors', 1); error_reporting(E_ALL);  // не забудь про подключение к базе данных через pdo // также default fetch FETCH ASSOC  if ($_SERVER['REQUEST_METHOD'] === 'POST') {  $login = escape($_POST['login']); $password = escape($_POST['password']);  if (!empty($login) && !empty($password)) {  $statement = $pdo->prepare('SELECT password FROM users WHERE login LIKE :login LIMIT 1'); $statement->bindParam(':login', $login, PDO::PARAM_STR); $statement->execute(); if ($statement->rowCount() == 1) { $result = $statement->fetch(); if (password_verify($password, $result['password'])) { $_SESSION['token'] = generate_key(16); response('/?ok'); } else { response('/?err'); } } else { response('/?err'); } } else { response('/?err'); } } else {  // form authorization  echo 'hi ))';  }  function response($location) { header("Location: $location"); exit; }  function escape($data) { return htmlspecialchars($data, ENT_QUOTES, 'UTF-8'); }  function generate_key($length) { return bin2hex(random_bytes($length)); }   

________
посл. ред. 26.01.2025 в 00:10; всего 1 раз(а); by STUDIO
boglol , поправил чутка код сверху и добавил приветствие где должна быть форма там вставь свою форму где ты заполняешь данные для авторизации
STUDIO , без результатно.. черный экран, могу в тг сам файл скинуть
boglol (26 янв 2025, в 0:13)
STUDIO , без результатно.. черный экран, могу в тг сам файл скинуть
Включи вывод ошибок
Онлайн: 3
Время:
Gen. 0.1125
(c) Bym.Guru 2010-2026