Maks » 2009.06.15 06:19

Короче у меня не фильтруется в чате переменная $url и есть возможность провести xxs. Вопрос! Как найти не фильтрованную переменную и как ее отфильтроват!
================
юзал гугл но мало че понел.( обьясните.

Gemorroj » 2009.06.15 08:35

xss. от xss помогает htmlspecialchars

Maks » 2009.06.15 09:28

Код:

1
span style="color: #0000BB"><?php $new = htmlspecialchars ( "<a href='test'>Test</a>" , ENT_QUOTES ); echo $new ; // &lt;a href='test'&gt;Test&lt;/a&gt;?>

так?

Gemorroj » 2009.06.15 09:34

нет.

Maks » 2009.06.15 10:37

Гм. А как еще?

WapStyle » 2009.06.15 11:06

Код:

1
$url = htmlspecialchars($url);

Код:

1
$url = htmlspecialchars('<a href="http://test.ru">Test.ru</a><br/>');
Maks » 2009.06.15 12:19

А вместо тест.ру че писать? И этот код в сам скрипт? Да?

Maks » 2009.06.15 13:43

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
$SQLlink = "";
$url=$_GET['url'];
$mydomen = "site.Ru";
If (!$url) { $url=$mydomen; }
 
$sk=$_GET['sk'];
$skz = "0";
If (!$sk) { $sk=$skz; }
$stt=$_GET['stt'];
$myd = "css";
If (!$stt) { $stt=$myd; }
 
$ver = trim(addslashes(htmlspecialchars($ver)));

проверьте на ошибки! Все ли верно?

WapStyle » 2009.06.15 13:53

вот это $url=$_GET['url']; замени на это $url = htmlspecialchars($_GET['url']);

Maks » 2009.06.15 13:54

WapStyle написал:

вот это $url=$_GET['url']; замени на это $url = htmlspecialchars($_GET['url']);

спасибо!
Добавлено спустя   1 минуту  41 секунду:
Тему не закрывайте. Т.к думаю не ток $url не отфильтрована!

WapStyle » 2009.06.15 14:04

у тебя не фильтруются
$sk=$_GET['sk'];
$stt=$_GET['stt'];

Maks » 2009.06.15 14:59

Ох. А их как профильтровать?
Добавлено спустя   1 минуту  2 секунды:
А так же не фильтруеца $mod

Maks » 2009.06.15 17:45

Парни хелп.(

Gemorroj » 2009.06.15 18:00

перед занесением в бд с помощью mysql_real_escape_string, перед выдачей в браузер с помощью htmlspecialchars

Maks » 2009.06.15 18:22

Код:

1
2
3
isset($_GET['id']) ? $id = intval($_GET['id']) : $id ='';
(isset($_GET['page'])) && ($_GET['page']!=0) ? $page=intval($_GET['page']) : $page=1;
isset($_GET['act']) ? $act = mysql_real_escape_string($_GET['act']) : $act ='';

а че если так?

Gemorroj » 2009.06.15 19:00

ну, я бы isset не использовал, а сразу интвалил. в случаес mysql_real_escape_string то же самое

Maks » 2009.06.15 19:06

Дай код интвалил пжл.

Gemorroj » 2009.06.15 19:35

=))
intval

Maks » 2009.06.15 19:43

Гг.) ) )

Код:

1
if(isset($_GET)){foreach($_GET as $key=>$value){$_GET[$key]=filtr($value);}}

че думаешь?

Gemorroj » 2009.06.15 20:41

есть функция array_map

Maks » 2009.06.16 17:26

Лана Геморой спасиб. Все я отфильтровал.) да и извини за извращение над твоим ником в названии. Хы.)