Риск внедрения кода с помощью explode () и count ()? - PullRequest
0 голосов
/ 06 февраля 2020

Я работаю с веб-сайтом, который в настоящее время хранит списки идентификаторов продуктов в строке в URL.

Выглядит так: localhost/product-list?compare=7011,7012,7013

Этот список разделяется с использованием explode() и count() ed для отображения количества товаров на странице.

Следует Я беспокоюсь о людях, вставляющих свои собственные значения в URL, есть ли риск внедрения кода с использованием explode() и count()?

1 Ответ

1 голос
/ 06 февраля 2020

Ну, это действительно зависит от того, как они используются внутри вашего кода. Например, если вы запрашиваете эти идентификаторы в своей базе данных. Это должно быть хорошо, если вы используете параметризованные запросы для достижения этой цели. Однако, чтобы убедиться, что странные вводы не перемещаются в вашем коде, вы можете проверить, используя простые preg_match для цифр (идентификаторов) и запятых.

<?php

$compare = '7011,7012,7013';// or from $_GET

var_dump(preg_match('/^(\d+,?)+$/',$compare));

Демо: https://3v4l.org/WjeDe

...