Обучение/Помощь новичкам | Что не так с кодом?
Фильтруйте данные. Так как в вашем коде наблюдается уязвимость.
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 это сильно
Да и вообще, это для примера, как можно реализовать.
Ну уже лучше нежели сплошная дыра
________
посл. ред. 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()"?
int можно использовать как простое привндение числа intval() обычно предпочтительнее, когда нужны дополнительные возможности, к примеру установка значения по умолчанию. Может что-то не так сказал, int просто может быть более читабельным именно для этого примера кода