Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » Безопасность

Безопасность при использовании Ajax от jquery

Обсуждение темы Безопасность при использовании Ajax от jquery в разделе Безопасность, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Если например хакер видит у меня на страницах сайта в файле . js такое: $.ajax({ type: "POST", url: "/core/ajax/load_friends_list.inc.php", data: "name=John&location=Boston", success: function(msg){ ...


Закрытая тема
 
Опции темы
Старый 24.01.2008, 04:03   #1
Если например хакер видит у меня на страницах сайта в файле .js такое:

$.ajax({
type: "POST",
url: "/core/ajax/load_friends_list.inc.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});

он может обратиться к этой странице (/core/ajax/load_friends_list.inc.php) напрямую с POST запросом и выполнить любую операцию, но с теми данными которые ему нужны...
Как от этого защититься?

Использую модуль jquery...
 
Старый 24.01.2008, 04:03
Ссылки
Старый 24.01.2008, 10:47   #2
Напиши класс с privat для php
А вообще - ты написал сайт с js. Все работает как часы.
Берешь свои jquery коды и запихиваешь в myscript.js и кодируешь.

Больше нех не знаю.
 
Старый 24.01.2008, 13:28   #3
Цитата:
Сообщение от egorix Посмотреть сообщение
он может обратиться к этой странице (/core/ajax/load_friends_list.inc.php) напрямую с POST запросом и выполнить любую операцию, но с теми данными которые ему нужны...
Как от этого защититься?
А мысли, что данные надо проверять и фильтровать, не возникало?

Кстати, странно как-то вы данные через post передаете.
 
Старый 24.01.2008, 17:07   #4
Фильтровка само-собой делается!
Надо только на JS ещё сделать фильтровку, правда не знаю как...

И тут дело совсем не в фильтрации. Если файл выполняет функцию удаления чего-либо. То он мог бы просто удалить что попало изменив id и всё! Тут никакой иньекции не надо.

deMone меня навёл на мысль, что ведь сессии работают! И уже непонятно откуда обратиться нельзя будет. Основная проблема решена.

Alkeeper предложил свой вариант ещё один (я его наверное использую тоже как дополнение к сессиям):
if((isset($_SERVER['HTTP_X_REQUESTED_WITH'])) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
{

# handling ajax requests here

} else {

# пашол нах*й

}
 
Старый 25.01.2008, 13:27   #5
Ну да.

Где это вы на мысли наводились и варианты обсуждали?
 
Старый 05.02.2008, 19:16   #6
в ICQ
 
Старый 06.02.2008, 15:35   #7
IMHO, здесь нужно не отслеживать, откуда идет запрос (все равно можно все это подделать), а проконтролировать процесс обработки запроса - какой-бы ни был запрос, чтобы скрипт не сделал ничего лишнего (не удалил лишнего и т.п.). Если существует вероятность, что подменив запрос хакер сможет заставить скрипт сделать что-то не то, проблема именно в самом скрипт (в том как он обрабатывает запрос).
 
Старый 06.02.2008, 17:09   #8
Можно такой вариант:
Генерируя страницу, содержащую данный скрипт, делается следующее
<?php
$str = md5(time() . "MySecretKeyword");
$_SESSION['AjaxSessionKey'] = $str;
echo '<script type="text/javascript">';
echo 'var sessionkey = "' . $str . '";';
echo '</script>'
?>

Ну вот, а вызов запроса тогда будет таким:

$.ajax({
type: "POST",
url: "/core/ajax/load_friends_list.inc.php",
data: "name=John&location=Boston&sessionKey=" + sessionkey,
success: function(msg){
alert( "Data Saved: " + msg );
}
});

А у файлика load_friends_list.inc.php будет сверка ключей.


И ведь в чём фишка: полученный ключ - сессионный, после перезагрузки исходной страницы он уже смениться. Если пользователь не авторизировался на сайте, то он просто не получит этот ключ, так как не доберётся до страницы, его генерирующей.
Единственная возможная хакерская уловка в данном случае - это перехват данных, но она возможна всегда и лечится только при помощи ssl
 
Старый 06.02.2008, 18:19   #9
Makarenya, вы предлагаете js генерировать средствами php?

По-моему, проблема надумана -- можно все спокойно проверять на серверной части.
 
Старый 06.02.2008, 22:45   #10
Гы, согласен.
 
Старый 06.02.2008, 22:45
Закрытая тема


Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плагин autocomplete от jquery и AJAX Dobrynin HTML, CSS, JavaScript 2 26.10.2009 11:21
Протестите на безопасность и наличие дыр battrack Безопасность 2 12.05.2009 21:12
Безопасность? Red_Red1 Безопасность 10 17.09.2007 16:42
Безопасность от Teleport Pro? anton Безопасность 4 09.02.2007 13:22
В ImageReady при использовании TWEEN теряется качество Sardel Растровая графика 3 10.03.2005 09:57


Текущее время: 17:09. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум