Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 12.12.2011, 15:53   #1
anweb
Продвинутый
 
Регистрация: 02.05.2007
Сообщений: 40
По умолчанию

Есть ли отличия при обращении к базе данных при использовании eID ? При таком раскладе не работает:
PHP код:
<?php
if (!defined ('PATH_typo3conf')) die ('Could not access this script directly!');
tslib_eidtools::connectDB();
$a1 t3lib_div::_POST('a1');
$a2 t3lib_div::_POST('a2');
$res $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','my_table','a1='.$a1);
$tRows = array();
$this->internal['currentRow'] = '';
while (
$this->internal['currentRow'] = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
    
$tRows[] = $this->internal['currentRow'][$a2];
}
$content implode('',$tRows);
echo 
$content;
?>
anweb вне форума   Ответить с цитированием
Старый 12.12.2011, 17:23   #2
Dmitry Dulepov
Продвинутый
 
Аватар для Dmitry Dulepov
 
Регистрация: 28.04.2010
Сообщений: 73
По умолчанию

Цитата:
Сообщение от anweb Посмотреть сообщение
PHP код:
<?php
$a1 
t3lib_div::_POST('a1');
$a2 t3lib_div::_POST('a2');
$res $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','my_table','a1='.$a1);
Да у вас SQL-инъекция, батенька...
Dmitry Dulepov вне форума   Ответить с цитированием
Старый 12.12.2011, 17:28   #3
anweb
Продвинутый
 
Регистрация: 02.05.2007
Сообщений: 40
По умолчанию

Спасибо, что подсказали, Дмитрий! А как правильно то написать?
anweb вне форума   Ответить с цитированием
Старый 12.12.2011, 17:53   #4
anweb
Продвинутый
 
Регистрация: 02.05.2007
Сообщений: 40
По умолчанию

Заработало вот так:
PHP код:
<?php
if (!defined ('PATH_typo3conf')) die ('Could not access this script directly!');
tslib_eidtools::connectDB();
$a1 '"'.t3lib_div::_POST('a1').'"';
$a2 t3lib_div::_POST('a2');
$query 'SELECT * FROM my_table WHERE a1='.$a1;
$res mysql_query($query);
while (
$rows mysql_fetch_assoc($res)) {
    echo 
$rows[$a2];
}
?>
На самом ли деле здесь есть проблема с безопасностью? Как её решить?
anweb вне форума   Ответить с цитированием
Старый 13.12.2011, 12:21   #5
Dmitry Dulepov
Продвинутый
 
Аватар для Dmitry Dulepov
 
Регистрация: 28.04.2010
Сообщений: 73
По умолчанию

К сожалению, есть. Передаете параметр как:

Код:
1" UNION SELECT BENCHMARK(5000000,ENCODE('MSG','by 5 seconds')),null) FROM fe_users --
и ваш сервер умер надолго. Конечно, надо подобрать количество параметров в этом запросе таким, как число колонок в вашей таблице, но это совсем не сложно.

Правильно так:

PHP код:
$a1 t3lib_div::_POST('a1'); 
$a2 t3lib_div::_POST('a2'); 
$query 'SELECT * FROM my_table WHERE a1=' $GLOBALS['TYPO3_DB']->fullQuoteStr($a1'my_table'); 
Dmitry Dulepov вне форума   Ответить с цитированием
Старый 13.12.2011, 12:26   #6
anweb
Продвинутый
 
Регистрация: 02.05.2007
Сообщений: 40
По умолчанию

Спасибо большое, Дмитрий!
anweb вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
API ядра TYPO3 - перевод официального руководства Андрей Аксенов Мастер-класс 6 26.04.2016 07:45
Настройки параметров ImageMagick для TYPO3 на FreeBSD и Linux Valery Romanchev Мастер-класс 9 25.06.2013 22:38
Ищу фриланс для настройки сайта в TYPO3 (организация) -Bt- Работа и заказы / Job Offer and Request 1 07.11.2010 23:50
Ищу фриланс для перевода сайта в TYPO3 (коммерческий, организация) -Bt- Работа и заказы / Job Offer and Request 1 25.05.2009 16:50
Организация коммерческой поддержки TYPO3? Valery Romanchev Организационные вопросы и встречи TUG 6 18.07.2005 17:54


Часовой пояс GMT +4, время: 11:16.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория