Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Как закрыть БД

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

nawatar_ru

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее... [/more]

Всего записей: 15 | Зарегистр. 18-11-2013 | Отправлено: 12:09 16-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nawatar_ru

Цитата:
Но они смогут обращаться напрямую к активной БД

каким образом? через ваши функции? ну так определяйте доступ в них.
и что значит "сторонние" скрипты?


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:51 16-12-2013
nawatar_ru

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
что значит "сторонние" скрипты?

обычные сторонние. Например, ваши.

Цитата:
каким образом? через ваши функции?

Если соединение с базой активно, скрипт может обращаться к нему без идентификатора. Даже, если активного соединения нет, не переписывать же мне все ваши скрипты! Только не говорите, что это невозможно, если вы программисты!!!

Всего записей: 15 | Зарегистр. 18-11-2013 | Отправлено: 16:56 17-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nawatar_ru

Цитата:
обычные сторонние. Например, ваши.

вы инклудите чужие скрипты?  
 

Цитата:
Даже, если активного соединения нет

если у вас не разрешен доступ без пароля или дефолтовые данные не прописаны в php.ini, то скрипт не подключится.
 

Цитата:
Если соединение с базой активно, скрипт может обращаться к нему без идентификатора

только если этот скрипт часть того скрипта, что использует подключение к базе.
 
но если в своих скриптах вы будете передавать и использовать идентификатор подключения явным образом, то без возможности получения этого идентификатора - другие части скрипта не смогут использовать это подключение.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:48 17-12-2013
nawatar_ru

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
вы инклудите чужие скрипты?

Да. Но если модули WordPress вы считаете абсолютно безопасными... Это тоже чужие скрипты.
Цитата:
только если этот скрипт часть того скрипта, что использует подключение к базе

То есть

Код:
 
file index.php
<?
$con=mysql_connect($server, $user, $password);
$dbselect=mysql_select_db($database);
reguire 'sql.php';
?>
file sql.php
<?
$query='...';
$result=mysql_query($query);
?>
 

работать не будет?

Всего записей: 15 | Зарегистр. 18-11-2013 | Отправлено: 15:01 20-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nawatar_ru

Цитата:
Но если модули WordPress вы считаете абсолютно безопасными... Это тоже чужие скрипты.

тогда не используйте WP.. пишите свою CMS или свои плагины. ну или проверяйте чужие плагины на "добропорядочность" самостоятельно.
 

Цитата:
работать не будет?

если делать как  
 
$dbselect = mysql_select_db($database, $con);
$result = mysql_query($query, $con);
и не давать, кому не надо, доступа к $con, то не будет.
 
ps: никогда не используйте <?, только <?php
и забудьте про mysql расширение - в будущих версиях PHP его не будет, используйте mysqli  


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:13 20-12-2013 | Исправлено: Cheery, 23:15 20-12-2013
nawatar_ru

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
если делать как ..., то не будет

спасибо, попробую.
Цитата:
тогда не используйте WP.... ну или проверяйте чужие плагины на "добропорядочность" самостоятельно

Вот и хочу запретить приложениям прямое обращение к ресурсам. Может и include() подскажете, как закрыть?)))

Всего записей: 15 | Зарегистр. 18-11-2013 | Отправлено: 11:11 22-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nawatar_ru

Цитата:
Вот и хочу запретить приложениям прямое обращение к ресурсам

зачем? зачем вы придумываете то, что никому из использующих WP не понадобилось?
вы же понимаете, что скрипты будут бегать под те же юзверем, что и WP в системе, а значит могут модифицировать то, что доступно для записи WP.
ну да, можно ограничить права доступа к файловой системе, но не проще ли не ставить те плагины, в которых не уверены? тем более у всех открытый код.
 

Цитата:
Может и include() подскажете, как закрыть

нельзя - если вы инклудите чужой скрипт, то он уже часть основного скрипта.
нельзя сделать для него отдельные ограничения, что не заденут работу основного скрипта.
 

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 11:19 22-12-2013
nawatar_ru

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
если делать как..., то не будет

поверил, проверил

Код:
file test.php
$con=mysql_connect('localhost', 'root', '');
if(!$con)die('не удалось подключиться к серверу');
$dbselect=mysql_select_db('mysql');
$result = mysql_query("SELECT * FROM db");
if($result!==false)echo 'true<br>';
else echo 'false<br>';
require 'sql.php';
 
file sql.php
$result = mysql_query("SELECT * FROM db");
if($result!==false)echo 'true<br>';
else echo 'false<br>';

результат:
true
true
Не получилось!

Цитата:
пишите свою CMS или свои плагины

Вот и написал так, чтобы любой понравившийся скрипт воткнуть можно было. Теперь раздумываю над безопасностью.

Всего записей: 15 | Зарегистр. 18-11-2013 | Отправлено: 21:51 22-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nawatar_ru

Код:
$con = mysql_connect('localhost', 'root', '');
if (!$con) die('не удалось подключиться к серверу');
mysql_close();
$dbselect = mysql_select_db('mysql', $con);
$result = mysql_query("SELECT * FROM db", $con);
if ($result)
   echo 'true<br>';
else
   echo 'false<br>';
 

если уберете $con, то подключения не будет.
 

Цитата:
Вот и написал так, чтобы любой понравившийся скрипт воткнуть можно было

по моему, вы страдаете фигней..
php это не тот случай, для которого нужны подобные вещи.
"любой скрипт", если он не учитывает API данной CMS или иные структурные особенности, нет смысла вставлять. иначе же - либо проверяй, либо доверяй.
 
если вам не важно как "вписывается" скрипт в работу CMS, а нужен только его вывод, то делайте http запрос к скрипту и используйте данные от него полученные. тогда он никак не будет "вмешиваться" в работу основного скрипта.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:39 22-12-2013
nawatar_ru

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
по моему, вы страдаете фигней..

Эта фигня началась с Вавилонской Башни и вылилась в технический прогресс. Я имею в виду, что цивилизация и есть самая большая фигня.
Спасибо за участие, буду думать...

Всего записей: 15 | Зарегистр. 18-11-2013 | Отправлено: 12:33 24-12-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Как закрыть БД


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru