Обучение/Помощь новичкам | Что не так с кодом?
Адм
(1 июня 2023, в 16:11)Фильтруйте данные. Так как в вашем коде наблюдается уязвимость.
php
if (isset($_GET['page']) && $_GET['page'] !== null)
{
$page = "Страница №" . urlencode($_GET['page']);
}Достаточно в page передать к примеру DROP TABLE users и таблицы в базе как и не было
Что не так - при отсутствии параметра page будет ошибка, нужно проверять через isset() и фильтровать через abs(intval())
php
<?php
if (isset($_GET['page'])) {
$p = 'Страница №' . abs(intval($_GET['page']));
}Что не так - при отсутствии параметра page будет ошибка, нужно проверять через isset() и фильтровать через abs(intval())
php
<?php
if (isset($_GET['page'])) {
$p = 'Страница №' . abs(intval($_GET['page']));
}urlencode это сильно
Да и вообще, это для примера, как можно реализовать.
Да туда просто (int) добавляешь и из переменной улетает все что не является числом. А не выдумывать про urlencode, abs, intval.
________
посл. ред. 01.06.2023 в 21:00; всего 1 раз(а); by Jack Sparrow
________
посл. ред. 01.06.2023 в 21:00; всего 1 раз(а); by Jack Sparrow
Зачем abs, intval? (int) вполне достаточно
. Ну вообще да, ты прав.Кстати, чем "(int)" лучше чем "intval()"?
________
посл. ред. 01.06.2023 в 21:05; всего 1 раз(а); by Something
Чтобы тебе отрицательное значение не подсунули
. Ну вообще да, ты прав.Кстати, чем "(int)" лучше чем "intval()"?
Чтобы тебе отрицательное значение не подсунули
. Ну вообще да, ты прав.Кстати, чем "(int)" лучше чем "intval()"?
Адм
(1 июня 2023, в 21:12)int можно использовать как простое привндение числа intval() обычно предпочтительнее, когда нужны дополнительные возможности, к примеру установка значения по умолчанию. Может что-то не так сказал, int просто может быть более читабельным именно для этого примера кода