Loading...
Помощь по скриптам | уязвимость
global $my,$pk,$user, htmlspecialchars(intval(($_POST));
Vitos (30.11.2016 в 23:45)
Trec80 (30.11.2016 в 23:44)
Vitos (30.11.2016 в 23:40)
Trec80 , как ее исправить и как с помощю ее можно навредить игре

Навредить? это дырка вообще то.. Что такое и как через дырку сайты ломают знаешь?

нет

Почитай тогда в гугле что такое SQL inj, xss
Допустим у тебя есть переменная 1 или еще чет, site.ru/trata.php?id=1 или sitename.ru/lomai_menia_polnostiu к конце каждой ссылке я добавлю '+UNION+SELECT. получится site.ru/trata.php?id=1'+UNION+SELECT sitename.ru/lomai_menia_polnostiu'+UNION+SELECT, оно просто выполнится , если выполнится то считай что я твои таблицы поудаляю, или буду начислять себе рейтинг и прочее.. это и есть ДЫРКО
===
ПО аналогии с input и прочим..
________
посл. ред. 30.11.2016 в 23:53; всего 4 раз(а); by Trec80
а ну да, в запросе вид будет таков..


mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`=' mysql_escape_string(intval($_POST[block]))',`udar`=' mysql_escape_string(intval($_POST[udar]))' WHERE `usr` = '$user[id]'");
А вообще умные люди делают все красиво...

$block= mysql_escape_string(intval($_POST['block']));
$udar= mysql_escape_string(intval($_POST['udar']));
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`='$block',`udar`='$udar' WHERE `usr` = '$user[id]'");


И вообще фильтрацию делают по условиям, если текст, если число и т.д
Для стринг-переменных используется такая фильтрация:
$input_text = addslashes($_GET['input_text']);
Функция addslashes экранирует спец. символы, но она не учитывает кодировку БД и возможен обход фильтрации.
======================
Используй функцию mysql_escape_string или mysql_real_escape_string, пример:
$input_text = mysql_escape_string($_GET['input_text']);
=======================
strip_tags — убирает html теги.
htmlspecialchars — преобразует спец. символы в html сущности.
trim - чтобы значение переменной не было пустой
intval - получает целочисленное значение переменной "Не используй, от нее толку практически 0"
________
посл. ред. 01.12.2016 в 00:05; всего 2 раз(а); by Trec80
Vitos (30.11.2016 в 23:38)
есть ли в этой строку уязвимость и как ее исправить и как с помощю ее можно навредить игре

global $my,$pk,$user, $_POST ;

.рукалицо.
________
посл. ред. 01.12.2016 в 00:25; всего 1 раз(а); by Avenax
Trec80 , Не утруждайся.
Пусть учит php
Vitos (30.11.2016 в 23:43)
Trec80 (30.11.2016 в 23:42)
mysql_escape_string(intval($_POST['blabla'])

это что

это фильтрация уровня бред wtf зачем mysql_escape_string для числа? а если там не число, зачем тогда intval?
Trec80 (01.12.2016 в 00:04)
а ну да, в запросе вид будет таков..


mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`=' mysql_escape_string(intval($_POST[block]))',`udar`=' mysql_escape_string(intval($_POST[udar]))' WHERE `usr` = '$user[id]'");
А вообще умные люди делают все красиво...

$block= mysql_escape_string(intval($_POST['block']));
$udar= mysql_escape_string(intval($_POST['udar']));
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`='$block',`udar`='$udar' WHERE `usr` = '$user[id]'");


И вообще фильтрацию делают по условиям, если текст, если число и т.д
Для стринг-переменных используется такая фильтрация:
$input_text = addslashes($_GET['input_text']);
Функция addslashes экранирует спец. символы, но она не учитывает кодировку БД и возможен обход фильтрации.
======================
Используй функцию mysql_escape_string или mysql_real_escape_string, пример:
$input_text = mysql_escape_string($_GET['input_text']);
=======================
strip_tags — убирает html теги.
htmlspecialchars — преобразует спец. символы в html сущности.
trim - чтобы значение переменной не было пустой
intval - получает целочисленное значение переменной "Не используй, от нее толку практически 0"

умные люди не пользуются старым php
________
посл. ред. 01.12.2016 в 00:28; всего 1 раз(а); by Avenax
shadrvlad (01.12.2016 в 00:26)
Vitos (30.11.2016 в 23:43)
Trec80 (30.11.2016 в 23:42)
mysql_escape_string(intval($_POST['blabla'])

это что

это фильтрация уровня бред wtf зачем mysql_escape_string для числа? а если там не число, зачем тогда intval?

Потому что intval по сути бесполезен но тоже нужен, а так же не кто не знает что в будущем он будет использовать, число или текст...
Нууу бред так бред.. Твоего мнения придерживаться не буду!
Avenax , не обязательно было цитировать все соо.. Нуууу в пабле игры наверное только на mysql на pdo еще не кто не выкладывал =D
Онлайн: 6
Время:
Gen. 0.1058
(c) Bym.Guru 2010-2026