Мета-тег обновления добавляет точки с запятой в URL (;)

У меня есть форма PHP / HTML, которая при нажатии кнопки отправки формы должна вносить изменения в базу данных и перенаправлять страницу на другой URL, чтобы просмотреть детали формы. Следующая страница требует получения двух переменных через GET, чтобы загрузить информацию из базы данных.

Я использую следующую строку кода для перенаправления страницы после отправки формы:

echo '<META HTTP-EQUIV="refresh" Content="0;URL=http://grserviceswap.isys489.com/dev/Abraham/providerViewsAPost.php?SPPostingID=' . $PostingID . '&UserID=' . $UserID . '"/>';

Проблема в том, что когда он перенаправляет, он добавляет две точки с запятой, как это:

http://grserviceswap.isys489.com/dev/Abraham/providerViewsAPost.php?SPPostingID=7;%20&UserID=33;

Точка с запятой добавляет конец, чтобы страница не загружалась должным образом. Я могу удалить его вручную, и он будет работать, но обычные пользователи не будут этого делать.

Как я могу получить мета-обновление, чтобы не добавлять точки с запятой?

Заранее большое спасибо!

1

Решение

Вы должны очищать переменные GET для защиты от атак XSS (межсайтовый скриптинг). Если оба являются целыми числами, вы можете применить это.

echo '<META HTTP-EQUIV="refresh" Content="0;URL=http://grserviceswap.isys489.com/dev/Abraham/providerViewsAPost.php?SPPostingID=' . intval($PostingID) . '&amp;UserID=' . intval($UserID) . '"/>';

Обратите внимание, я также изменил & в &amp; которая является правильной кодировкой HTML.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]