2016-05-30 2 views
-2

это мой родной URL:Как предотвратить XSS

127.0.0.1//myweb/home.php?u=daniel 

теперь, когда я включаю этот тип XSS:

127.0.0.1//myweb/home.php/"><script>alert('hacked')</script>?u=daniel 

теперь, как представляется, будет взломан, как можно избежать этого типа XSS атака ?

ДОБАВЛЕНО

Вот другие коды: (Я не добавить выборку пользователей в данных)

require_once 'core/init.php'; 

$currentUser = new User(); 

$report = null; 
if(!$currentUser->isLoggedIn()) { 
    Redirect::to('index.php'); 
} 
+0

Вы должны показать PHP код, который управляет. эта часть вашего приложения. – AntoineB

+0

мой код на этой странице, только если пользователи зарегистрированы, это будет пропуск, и если он не будет перенаправлен на 'index.php', тогда другие коды предназначены для получения данных. Это нормально? – phew

ответ

0

Вы всегда можете использовать PHP, чтобы отфильтровать все ненужные части URL-адрес.
Это ваш веб-сайт, чтобы вы знали, какой символ бесполезен на вашем веб-сайте.

Например, я знаю, что на моем веб-сайте двойные кавычки/«символ бесполезны на моем веб-сайте.
Итак, я могу прямо отфильтровать любую часть с двойными кавычками/символом.

Вы можете получить ваш текущий url из следующего кода.
$ URL = $ _SERVER [ 'REQUEST_URI']

Затем вы просто игнорировать все, что после двойные кавычки символа с помощью взрываются.

$ safe_url = взорваться ("\"», $ URL);

Таким образом, вы будете просто использовать $ safe_url [0] в качестве URL

+0

, когда Я использую этот скрипт '/"> 'after' .php' мой сайт будет отображаться как атакованный это тоже '>"> & ' – phew

+0

Ну, вы al готовый знать, что ваш url - 127.0.0.1//myweb/home.php?u=daniel Затем вы можете просто взорвать .php, чтобы получить свой безопасный URL. Вы можете получить параметр после? используя $ _GET –

+0

Другой способ сделать это - использовать метод post для отправки вашего параметра. Итак, вам не нужно заботиться о каких-либо данных после? персонаж. Вы можете просто взорваться .php и игнорировать все после этого. –

Смежные вопросы