Стоит ли удалять все символы из $_GET['submit']?

Я новичок в php. Подскажите, нужно ли обрабатывать $_GET['submit'] ?

/index.php?search=yes&submit=Найти

работает проверка на пустоту isset(); но когда удаляю все ненужные символы проверка всегда возвращает yes, даже, если submit, но зато удаляет ненужные символы.

http://cmsreplay.ru/index.php?search=<h1>hi<%2Fh1>&submit='] ?> <?php echo 'hello'; ?>/*


<form action="index.php" method="get">
			<input type="search" name="search" placeholder="Поиск...">
			<br>
			<input type="submit" name="submit" value="Найти">
		</form>
		<?php
			if(isset($_GET['submit']))
			{
				$search = preg_replace("/[^a-z0-9]/i", "", $_GET['search']);
				echo $search;
				echo 'yes';
			}

			else
			{
				echo 'no';
			}
		?>
  • Вопрос задан
  • 291 просмотр
Решения вопроса 2
@Arik
<?php
if (isset($_GET['submit']) && ($search = preg_replace("/[^a-z0-9]/i", "", $_GET['search']))) {
    echo $search;
    echo 'yes';
} else {
    echo 'no';
}
?>


Вообще для безопасного вывода браузера достаточно htmlspecialchars
Ответ написан
sergiks
@sergiks Куратор тега PHP
♬♬
Можно использовать функцию filter_input() и очищающие фильтры.
<?php
$search = filter_input( INPUT_GET, "search", FILTER_SANITIZE_STRING);
if( !empty($search)) {
  echo $search;
  echo "Yes";
} else {
  echo "No";
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы