#sql

Пользователь

от trenton , в категории: PHP , 2 года назад
Нет ответов

Нашел вот такую проверку с SQL инъекциeй на PHP в одном из проектов


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// Открытие соединения с базой данных
$conn = mysqli_connect("localhost", "username", "password", "myDB");

// Получение данных из формы
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];

// Проверка наличия данных
if ($name && $email && $message) {
    // Вставка данных в таблицу "messages"
    $sql = "INSERT INTO messages (name, email, message) VALUES ('$name', '$email', '$message')";
    mysqli_query($conn, $sql);
} else {
    echo "Введите все данные";
}

// Закрытие соединения с базой данных
mysqli_close($conn);
?>


Пользователь

Нашел в одном из проекте вот такой SQL запрос кросс-джойн двух таблиц без явного указания оператора JOIN

1
2
3
4
SELECT *
FROM orders, customers
WHERE orders.customer_id = customers.customer_id
AND customers.first_name = 'John'

Этот запрос выполняет кросс-джойн двух таблиц без явного указания оператора JOIN, что может привести к неожиданным результатам. Кроме того, он не использует оператор WHERE для фильтрации строк, что означает, что он возвращает все строки, удовлетворяющие условию соединения. Это может привести к большому объему данных, из-за которых запрос будет выполняться медленно. Наконец, условие фильтрации для идентификации клиента по имени не учитывает возможность наличия нескольких клиентов с одинаковыми именами в таблице customers.

A

Администратор

Недавно работал с одним проектом и наткнулся на такой код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php

$con = mysql_connect("localhost", "username", "password");
mysql_select_db("my_database", $con);

$qry = "SELECT * FROM user WHERE id = '$id'";
$result = mysql_query($qry);

while ($row = mysql_fetch_array($result)) {
  $f = $row['field1'];
  $g = $row['field2'];
  $h = $row['field3'];
}

mysql_close($con);


Переменные названия просто ужас, долго пытался понять что за field1, field2, field3. Ощущение что стро по документации или учебнику создавали проект 😂

Пользователь

от norberto_thiel , в категории: PHP , 3 года назад
Нет ответов

SQL injection в PHP реальный пример

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
$title=$_POST['title'];
$genre=$_POST['genre'];
$actor=$_POST['actor'];

mysqli_query($connect,"INSERT INTO movies(title,genre,actor)
				VALUES('$title','$genre','$actor')");
					
if(mysqli_affected_rows($connect) > 0){
	echo "<p>Movie Added</p>";
	echo "<a href='searchdisplay.php'>Search for movies!</a>";
} else {
	echo "Movie NOT Added<br />";
	echo mysqli_error ($connect);
}