X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> пара вопросов к профи по защите
ghostik32
ghostik32
Topic Starter сообщение 24.3.2010, 20:38; Ответить: ghostik32
Сообщение #1


Раздела о защите у Вас нет так что пишу тут.
- $_SESSION[''] есть ли какойто способ юзерам изменять этот массив, спрашиваю так как там храню данные после авторизации пользователя?
- насколько обезопасит такой обработчик поступающих данных методом $_GET['']
[php]
function sqlInjection ($data)
{
$filter = array ("select", "delete", "union", "update", "insert");
$filter_data = str_replace ($filter, "", strtolower ($data));
return $filter_data;
}

function phpInjection ($data)
{
$filter = array ("\\", "'", ",", ";", "--", "-", "%20", "%27", " ", "`", "=", "%");
$filter_data = str_replace ($filter, "", $data);
return $filter_data;
}

sqlInjection (phpInjection ($_GET['t']));
[/php]
- у меня на сайте много форм с данными которые получаю от пользователей, обрабатываю их так:
[php]
$name = (isset ($_POST['name']) ? mysql_real_escape_string ($_POST['name']) : "" );
if (empty ($name) or strlen ($name) < 3 or strlen ($name) > 20 or !preg_match ("/^[a-zA-Zа-яА-Я]{3,20}$/i", $name))
{
$error_msg[] = "Имя указано не верно";
}
[/php]
- Доступ к админ панели только с определённых IP с админским уровнем доступа.
- Инклуд модулей делаю так:
[php]
if (isset ($_GET['t']))
{
$t = sqlInjection (phpInjection ($_GET['t']));
switch ($t)
{
case "change_email":
$mod = "change_email";
break;
case "exit":
logout ();
break;
default:
$mod = "index";
}

if (file_exists (INC_DIR . "/modules/" . $mod . ".php"))
{
require_once INC_DIR . "/modules/" . $mod . ".php";
}
else
{
require_once INC_DIR . '/modules/index.php';
}
}
else
{
require_once INC_DIR . '/modules/index.php';
}

[/php]
Интересует Ваше мнение что можете посоветовать или подкорректировать в данном случае.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 24.3.2010, 23:56; Ответить: ZhukV
Сообщение #2


Мне очень не понравилось:
[PHP]
$filter = array ("\\", "'", ",", ";", "--", "-", "%20", "%27", " ", "`", "=", "%");
[/PHP]
Во-первых:
Как так, сначала проверяются %20 и %27, это очень хорошо!!!! Но зачем пробел (%20) заменять на пустое значение, так же и одинарную кавичку (%27), если все спецсимовлы автоматом экранизируются -- http://www.html.by/showthread.php?t=10937 , внизу написано.
Два, ты установил также замену % на пустое значение, при проверке на SQL_Injection, СУПЕР, МОЛОТОК!!!! Но все же ты подумал, что ты сделал? Многие браузеры передают специмовлы в виде таких кодов -- %xx, где xx -- код символа.
Так и с каждым кодом!!!
Если уж проверять на SQL-инекцию, то нужно проверять на наличие "--;", тоесть комент предедущего запроса. А еще лучше, совет, воспользуйся так http://www.html.by/showthread.php?t=10931 , тогда 1000% процентов, если и получиш в адресной строке какую-то SQL-инекцию, то она аж никак не срабатывает!!!!

Относительно include файлов, впечетлило, ибо проверку желательно ставить всегда, если файл инклюдится динамически. Вот только не следует забывать, что при твоем инклюде (require_once()), ядро получит код на начале всего документа, а при простом include(), там где он вызван. В результае этого могут быть некие сложности, типа: в начале прописана переменная $page, которая имеет определенное значение, и в инклюде, такая же, они могут просто "поменятся местами" (значение будет со втрого присвоивания)
Имя проверено нормально!!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ghostik32
ghostik32
Topic Starter сообщение 25.3.2010, 0:08; Ответить: ghostik32
Сообщение #3


взял я эти функции из одной так сказать CMS, пользуется большой популярность в своей области приминения. О взломах неслышал. В url у меня передаются текст и цыфры. спс за функцию буду смотреть что да как. По поводу include, гдето читал что reaqire если не найдёт файл то скрипт продолжит своё выполнение а если include то ошибка на экране, могу и ошибаться. То что написал про include незнал, возьму на заметку.
Как насчёт остальных пунктов? Особенно интересует про сессии так как я не стал их чем то проверять.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 25.3.2010, 0:09; Ответить: ZhukV
Сообщение #4


(ghostik32 @ 24.3.2010, 22:38) *
$filter*=*array*("select",*"delete",*"union",*"update",*"insert");
);

Супер, но также нужно проверять и в верхнем регистре...

(ghostik32 @ 24.3.2010, 22:38) *
- $_SESSION[''] есть ли какойто способ юзерам изменять этот массив, спрашиваю так как там храню данные после авторизации пользователя?

Да, можна. Я использую собственные алгоритмы шифрования, но 100 процентной гарантии это не дает!!!

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыGAMBLING.pro - СРА-сеть для профи
97 Gamblingpro 38978 26.7.2022, 17:42
автор: Gamblingpro
Открытая тема (нет новых ответов) HomeWork - профи в монетизации студентов (18-24 года, Россия)
23 partner_hw 8647 5.4.2022, 17:23
автор: kuprum
Открытая тема (нет новых ответов) Наполнение сайтов вопросов и ответов
1 Solonik 1382 3.2.2022, 0:31
автор: Vitelius900
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыRAMON.CASH – На защите Ваших интересов! Купить быстро BTC, ETH, LTC
20 Roman9 17337 2.1.2022, 12:13
автор: Roman9
Открытая тема (нет новых ответов) Пару вопросов про push-рассылки
12 Zhezkazganetcs 5152 12.6.2019, 8:36
автор: ExchangeRatesPro


 



RSS Текстовая версия Сейчас: 25.4.2024, 16:00
Дизайн