[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Насколько безопасно подключение php скриптом JS?
GET
Здравствуйте.

Хочу задать такой вопрос. Часто на сайтах используются разные модули для на JS для удобства.

Например, кнопка проверки существования логина, я использую скрипт опирающийся на jQuery/

В нем есть подключение обработчика на php

var url = 'search.php';


, его цель, обработчика, принять переменную $_POST['string'] и сверить ее с таблицей юзеров на совпадение логина.

Так вот, при просмотре исходного кода страницы на, которой стоит поиск:

1. Видно путь название файла search.php - обработчика.
2. В самом обработчике нельзя поставить защиту от инклюда константой т.к. она туда просто не уйдет.
2. В нем же приходится явно прописывать конфигурацию подключения к БД:

	$db = mysql_connect ("localhost","user","123");
mysql_select_db("Database",$db);


Т.к. скрытно ее туда передать тоже не представляется возможным (ну разве что только через файл)

Итак мы имеем:

Файл который все видят, знаем, что в нем лежат все параметры подключения к БД и знаем, что его можно инклюдить т.к. констант там нет сессии в нем тоже не работают.

Что с этим делать? Как можно защитить?



Спустя 3 минуты, 2 секунды (22.01.2012 - 07:38) inpost написал(а):
A.B.C.
А зачем защищать? Раз показал файл, значит показал smile.gif Ничего страшного в этом нет. Это тоже самое, что бояться, что люди узнают, что у тебя на сервере есть файл: index.php , а по этому поводу не боишься?! smile.gif

Спустя 3 минуты, 19 секунд (22.01.2012 - 07:41) GET написал(а):
inpost

Но его же можно легко инклюдить?

if(!defined('abc')){exit(file_get_contents('../404.html'));}
- это не работает

Я точно не знаю, как хакеры это делают но они это делают ведь. Существует ведь опасность вытащить содержимое файла?

Спустя 1 минута, 57 секунд (22.01.2012 - 07:43) GET написал(а):
inpost

А лучше действительно конфигурацию подключения к БД спрятать в файл и его оттуда потом (в обработчике JS) вытаскивать или разницы особой нет?

Спустя 1 минута, 14 секунд (22.01.2012 - 07:44) inpost написал(а):
A.B.C.
Повторюсь, есть же index.php, а за него ты не боишься?! smile.gif
Давай будем бояться, что кто-то догадается, что у тебя есть index.php, а ведь из него тоже своруют данные!!!
Ничего не вытащат. Вытаскивают по другому, заливают вредоносный СВОЙ php скрипт, а далее функция glob + file() + mail(). Обошел весь сайт, вытащил все, что тебе надо. Или пароль по фтп воруют.

Спустя 1 минута, 10 секунд (22.01.2012 - 07:45) GET написал(а):
inpost

Спасибо!

Спустя 2 дня, 3 часа, 1 минута, 41 секунда (24.01.2012 - 10:47) SoMeOnE написал(а):
Если не ошибаюсь, что именно нужно было, то желательно в начало обработчика добавлять строку
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {die();}

Спустя 3 часа, 44 минуты, 22 секунды (24.01.2012 - 14:31) inpost написал(а):
SoMeOnE
Всё, что начинается с HTTP -> легко подделывается.

Спустя 56 минут, 15 секунд (24.01.2012 - 15:28) SoMeOnE написал(а):
inpost
Ну хотя бы от школьников защита)


_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.