$id = (int)$_GET['id'];
$sql = "SELECT id FROM `users` WHERE id='$id'";
$query = mysqli_query($link, $sql);
$id = 123;
$sql = "SELECT id FROM `users` WHERE id='$id'";
$query = mysqli_query($link, $sql);
error_reporting(0); //чтобы не узнали имя таблицы
Вывод: повторяем хэширование много раз, дабы увеличить время выполнения алгоритма, что замедлит подбор паролей.
23 февраля 2017 года специалисты из Google и CWI объявили о практическом взломе алгоритма, опубликовав 2 PDF-файла с одинаковой контрольной суммой SHA-1. Это потребовало перебора 9*1018 вариантов, что заняло бы 110 лет на 1 GPU. (Википедия)То есть теоретически sha1 взломать можно, но на данный момент это невозможно технически. (Слишком много времени) Но через лет 5-15, скорее всего, коллизия будет перебираться гораздо быстрее. Вот если бы кто-то показал пример коллизии или подбора пароля по словарям в случае хеша как в моем примере, или похожем, то цены бы не было ответу))
$datasql = "SELECT name FROM `users` WHERE id=$data[0]";
$querynameselect = mysqli_query($connection, $datasql) or die("Ошибка");
$friendsql = [];
while($friendsql = mysqli_fetch_row($querynameselect)) {
$friendname = $querynameselect;
}
echo $friendsql[0]; // теперь пишет просто 1 букву имени.
echo $data[0]; // вывел 1
//какой-то html-код
echo $data[1]; // вывел 2
2. Как подготовить данные, которые будут содержать цифры, буквы, символы?
3. От XSS нужно защищаться так?
4. А стоит ли использовать mysqli_real_escape_string, addslashes, strip_tags для $_POST['text']? (Перед подготавливаемым запросом)
P.S Большое спасибо за помощь и ответы :)