Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

30_PHP, MySQL и безопасность (Дмитрий Котеров)
Goto page 1, 2, 3  Next
Author Message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Apr 09, 2003 12:33 am ()
   Post subject: 30_PHP, MySQL и безопасность
Reply with quote

dklab.ru/chicken/nablas/30.html
Back to top
View user's profile Send private message Send e-mail
pav
Участник форума



Joined: 12 Mar 2003
Posts: 203
Карма: 4
   поощрить/наказать

Location: Россия / г.Северодвинск

PostPosted: Wed Apr 09, 2003 12:54 am (спустя 20 минут)
   Post subject:
Reply with quote

Что-то в этой набле картинки непоказывются :( Дмитрий проверти пожалуйсто!

Last edited by pav on Wed Apr 09, 2003 6:14 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Apr 09, 2003 1:17 am (спустя 23 минуты)
   Post subject:
Reply with quote

Ага, точно — у меня-то они грузятся только по щелчку, на их месте зеленые квадраты... Спасибо, исправил.
Back to top
View user's profile Send private message Send e-mail
DmitriyPopov
Участник форума



Joined: 10 Mar 2003
Posts: 1491
Карма: 22
   поощрить/наказать


PostPosted: Wed Apr 09, 2003 1:00 pm (спустя 11 часов 42 минуты)
   Post subject:
Reply with quote

Дмитрий, а как же "насильное" включение magic_qoutes? Или, наоборот, отключение?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Apr 09, 2003 4:43 pm (спустя 3 часа 43 минуты)
   Post subject:
Reply with quote

В смысле?
Back to top
View user's profile Send private message Send e-mail
Igor Svetlickov
Сотрудник «Лаборатории»



Joined: 10 Mar 2003
Posts: 37
Карма: 2
   поощрить/наказать

Location: Киев, Украина

PostPosted: Thu Apr 10, 2003 9:37 am (спустя 16 часов 53 минуты)
   Post subject:
Reply with quote

Господа, переходите на Parser и не занимайтесь церебральным сексом ;)
Parser, слава Богу, такие вещи устраняет автоматически.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 10:52 am (спустя 1 час 15 минут)
   Post subject:
Reply with quote

Бросай свою агитацию (-;
Лучше бы написал, как там это реализовано.

В Парсере многого другого нет, что есть в PHP. Я уже как-то говорил, что не представляю себе программу на Parser-e (именно программу, которая ничего не выводит) размером в 5000 строк.
Back to top
View user's profile Send private message Send e-mail
DmitriyPopov
Участник форума



Joined: 10 Mar 2003
Posts: 1491
Карма: 22
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 11:48 am (спустя 55 минут)
   Post subject:
Reply with quote

Дмитрий Котеров:
В смыле - сразу, например, в .htaccess включять magic_quotes, или, наоборот выключеть их, и тогда мало зависеть от хостера (тогда проблемы, описанные Вами на 70% пропадают).

Естественно, кроме тех случаев, когда хостер не дает .htaccess редактировать директивы PHP (гнать такого хостера :-))
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 2:05 pm (спустя 2 часа 16 минут)
   Post subject:
Reply with quote

Да, конечно, в .htaccess fuc#@$!_quotes_gpc отключать. Но только Вы невнимательно читали статью, если считаете, что это 70% проблемы. Это от силы 5%.
Back to top
View user's profile Send private message Send e-mail
Co
Заглянувший



Joined: 10 Apr 2003
Posts: 3
Карма: 0
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 2:11 pm (спустя 6 минут)
   Post subject:
Reply with quote

Quote:
Значение переменной $topic_id предположительно приходит из формы или из QUERY_STRING, верно? Там должно быть целое число. Но вот пришел хакер и запустил скрипт так:
script.php?topic_id=1'+OR+1!='
Если переменная целого типа, не проще ли сделать так:
Code (any language): скопировать код в буфер обмена
$topic_id = (int)$topic_id;
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 2:15 pm (спустя 3 минуты)
   Post subject:
Reply with quote

Это несерьезно. А если не целого? А если их с десяток? Так и будете 10 раз делать (int)?
Back to top
View user's profile Send private message Send e-mail
Евгений Бондарев
Модератор



Joined: 10 Mar 2003
Posts: 723
Карма: 16
   поощрить/наказать

Location: Харьков/Киев, Украина

PostPosted: Thu Apr 10, 2003 2:16 pm (спустя 1 минуту 2 секунды)
   Post subject:
Reply with quote

Co: такое приведение типов рекомендуется делать всегда!
Back to top
View user's profile Send private message
Co
Заглянувший



Joined: 10 Apr 2003
Posts: 3
Карма: 0
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 2:34 pm (спустя 18 минут)
   Post subject:
Reply with quote

да, так и будем делать 10 раз addslashes =)
Back to top
View user's profile Send private message
Артем
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 5:37 pm (спустя 3 часа 3 минуты)
   Post subject: Re: 30_PHP, MySQL и безопасность
Reply with quote

Не плохо. разумно придумано.
magic_quotes - это точно отстой. запутывает капитально.
А то я сам все по старинке через addslashes.
Правда создал функцию, которая покороче называется.
вот только получается с трудом добавлять туда символы '?' в запрос, что не есть гуд.
да и компиляция запроса + компановка дело довольно длительное.
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 5:59 pm (спустя 21 минуту)
   Post subject:
Reply with quote

1. Про то, что трудно вставлять "?", даже и не думайте: это совершенная мелочь. Мне за 4 года ни разу не приходилось делать ничего подобного. Где именно Вы хотите вставлять вопросы? И ведь всегда можно вставить их в виде параметра (я бы вообще запретил не то, что вопросы явно указывать, — апострофы бы запретил; к сожалению, в этом вероятность вставки где-нибудь $id открытым текстом сильно возрастает).
2. Про время работы — да, некоторые накладные расходы имеются. Но учтите вот что. Средний и крупный скрипт (вот, например, как этот форум) выполняют 20-40 запросов за один раз. Соответственно, основное время занимает исполнение запроса и извлечение результатов. Думается, замедление от sql_placeholder() некулонно стремится к нулю.
Back to top
View user's profile Send private message Send e-mail
Igor Svetlickov
Сотрудник «Лаборатории»



Joined: 10 Mar 2003
Posts: 37
Карма: 2
   поощрить/наказать

Location: Киев, Украина

PostPosted: Thu Apr 10, 2003 9:56 pm (спустя 3 часа 57 минут)
   Post subject:
Reply with quote

Про Парсер.

1. Есть грязные и чистые данные. Данные пришедшие из внешних источников(например, от пользователя считаются грязными). Если ты попытаешься вывести на экран грязные данные, то в них HTML-теги будут выводиться как & & т.е. не будут восприниматься как теги. Если ты попытаешься вставить грязную строку в БД, кавычки будут экранироваться. Строку можно отчистить одним оператором, можно обработать вручную. Но, по умолчанию, она грязная и это спасает от многих ошибок и многих ненужных проблем размером в наблу.

2. Насчёт не могу представить программы на 5000 строк. Совершенствуй фантазию, развивай дзен и всё такое ;) А если серьёзно, то в чём суть претензии ?
Я могу себе представить программу на perl на 5000 строк, я видел такие. При первой мысли тянусь за рвотным пакетиком...

Last edited by Igor Svetlickov on Fri Apr 11, 2003 9:42 am; edited 1 time in total
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 10:14 pm (спустя 17 минут)
   Post subject:
Reply with quote

По поводу 1 — были такие штуки еще в Perl... Это хорошо для отладки... ты утверждаешь, что такие же штуки проходят и с функциональной стороны? Что-то мне сомнительно, и вот почему.
а) Предположим, я вставил «грязную» строку в базу, а затем достал ее из базы и вывел на экран. Естественно, признак «грязноты» будет потерян, а значит, тэги выведутся, как есть. Следовательно, замене спецсимволов для тэгов — грош-цена.
б) Предположим, половина строки пришла от пользователя, а половина — из файла. Конкатенация, естественно, считается «грязной». Как будем эту «грязноту» снимать? А если она была перед этим записана в файл, а потом считана оттуда?..
Сдается мне, что «грязные данные» придуманы в Парсере все же не для этой темы, а для оффтопика.

2. Пожалуйста, пришли мне код на парсере размером в 5000 строк, который ничего не выводит в браузер (чистые функции и классы). Может, когда я посмотрю на это дело, я изменю мнение. А я тебе, если хочень, пришлю вполне нормальный код на Perl размером 5000 строк (естественно, в нескольких файлах), чтобы показать, что там ничего принципиально страшного нет.

Кстати. Дзен не надо развивать, потому что развивать тут нечего. Более того, даже если попробовать, то невозможно будет понять, кто же кого в действительности развивает.
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Apr 10, 2003 10:17 pm (спустя 3 минуты)
   Post subject:
Reply with quote

Да, чуть не забыл. Я ведь ничего не имею против Парсера, просто для каждой задачи — свой инструмент. Что-то удобно делать на Парсере, что-то — на PHP, а что-то — даже на Perl (представь себе ядро Денвера, написанное на Парсере, PHP или Си — это ж со смеху умрешь). Инструменты, кстати, пожно объединять (видел когда-нибудь такой перочинный ножик, в котором куча всего: отвертка, ложка, штопор и т.д.?) Я удивляюсь, почему никто до сих пор не написал для Парсера модуль поддержки Perl — ведь тогда сразу же открылись бы необъятные возможности по использованию сторонних библиотек, которых написано просто море и на все случаи жизни.
Back to top
View user's profile Send private message Send e-mail
Igor Svetlickov
Сотрудник «Лаборатории»



Joined: 10 Mar 2003
Posts: 37
Карма: 2
   поощрить/наказать

Location: Киев, Украина

PostPosted: Fri Apr 11, 2003 10:05 am (спустя 11 часов 47 минут)
   Post subject:
Reply with quote

Quote:
ты утверждаешь, что такие же штуки проходят и с функциональной стороны?
Да, утверждаю.
Quote:
а)Предположим, я вставил «грязную» строку в базу, а затем достал ее из базы и вывел на экран. Естественно, признак «грязноты» будет потерян, а значит, тэги выведутся, как есть.
Нет, ничего не будет потеряно любая строка, пришедшая из БД — грязная.
Quote:
Сдается мне, что «грязные данные» придуманы в Парсере все же не для этой темы, а для оффтопика.
Не надо нас раньше времени девальвировать. ;)
Quote:
б) Предположим, половина строки пришла от пользователя, а половина — из файла. Конкатенация, естественно, считается «грязной». Как будем эту «грязноту» снимать? А если она была перед этим записана в файл, а потом считана оттуда?..
Ничего страшного. Дело всё в том, что грязнота бывает разная.
читаем тут: www.parser.ru/examples/tainting/
и тут: www.parser.ru/docs/lang/opuntainttaint.htm

2. Извини, такие тексты я видел только в Студии. А студийные тексты распостранять при всём желании не могу. Может когда-нибудь сам столько напишу...
Возможно, в качестве примера подойдёт вот это:
www.egoroff.spb.ru/portfolio/sources/sources.html
Quote:
Я ведь ничего не имею против Парсера, просто для каждой задачи — свой инструмент. Что-то удобно делать на Парсере, что-то — на PHP, а что-то — даже на Perl (представь себе ядро Денвера, написанное на Парсере, PHP или Си — это ж со смеху умрешь)...
Ага, значит причислил уже меня к религиозным фанатикам ;)
Quote:
Я удивляюсь, почему никто до сих пор не написал для Парсера модуль поддержки Perl — ведь тогда сразу же открылись бы необъятные возможности по использованию сторонних библиотек, которых написано просто море и на все случаи жизни.
Мы это с тобой уже обсуждали. Есть возможность вызывать внешние cgi и получать результат их работы. Хватает с головой.
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Fri Apr 11, 2003 5:40 pm (спустя 7 часов 34 минуты)
   Post subject:
Reply with quote

а что вам вообще мешает попробовать написать сайт на SSI ?
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sat Apr 12, 2003 12:00 am (спустя 6 часов 20 минут)
   Post subject:
Reply with quote

Igor Svetlickov wrote:
Возможно, в качестве примера подойдёт вот это
Шамнство, шаманство... Кошмар какой...
(-;
Back to top
View user's profile Send private message Send e-mail
Igor Svetlickov
Сотрудник «Лаборатории»



Joined: 10 Mar 2003
Posts: 37
Карма: 2
   поощрить/наказать

Location: Киев, Украина

PostPosted: Sat Apr 12, 2003 8:58 pm (спустя 20 часов 57 минут)
   Post subject:
Reply with quote

Quote:
Шамнство, шаманство... Кошмар какой...
(-;
По конкретней, пожалуйста...

Кстати, это всё, что ты хотел сказать в ответ на мой пост, т.е. все остальные аргументы оказались достаочно убедительными?
Или на столько мелочными, что не хочется и регаировать? (-;
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Apr 13, 2003 3:25 pm (спустя 18 часов 27 минут)
   Post subject:
Reply with quote

Тут дело в другом. Я там так и не смог найти достаточное количество функционального кода. Лучше ты объясни (вкратце, естественно), как и что, а я задам наводящие вопросы.

1. Как в Парсере с ООП? То, что я видел, выглядит почище, чем в Perl.
2. Что все-таки делать, если мне нужно написать достаточно большой (1000 — 2000 строк) кусок кода, который ничего в браузер не выводит?
Back to top
View user's profile Send private message Send e-mail
Igor Svetlickov
Сотрудник «Лаборатории»



Joined: 10 Mar 2003
Posts: 37
Карма: 2
   поощрить/наказать

Location: Киев, Украина

PostPosted: Fri Apr 18, 2003 10:21 am (спустя 4 дня 18 часов 56 минут)
   Post subject:
Reply with quote

Quote:
1. Как в Парсере с ООП? То, что я видел, выглядит почище, чем в Perl.
В Perl'e мне не нравится то, что ООП не родное и потму сделано немного per rectum.
IMHO, в Парсере с ООП всё нормально: инкапсуляция, наследование, полиморфизм ;)
Quote:
2. Что все-таки делать, если мне нужно написать достаточно большой (1000 — 2000 строк) кусок кода, который ничего в браузер не выводит?
Писать его ;)
А какие фундаментальные проблемы здесь зарыты?
Я вижу только традиционные:
- преодоелть лень ;)
- правильно и предварительно проектировать, чтобы не захлебнуться в растущей сложности программы.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sat Apr 19, 2003 2:17 am (спустя 15 часов 56 минут)
   Post subject:
Reply with quote

И все-таки, подобный код — в студию!
Желательно в виде аттачмента в форуме.
Back to top
View user's profile Send private message Send e-mail
Day
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu May 29, 2003 10:02 am (спустя 1 месяц 10 дней 7 часов 44 минуты)
   Post subject: PEAR
Reply with quote

Кстати, господа, а что, если не изобретать велосипед, который уже давно создан и работает лучше?
Я имею в виду библиотеку PEAR и её класс DB. Этот класс распространяется со всеми версиями PHP, по крайней мере, 4.x.
Там есть всё, что описал автор, и ещё куча интересного. Рекомендую.
Для информации см. pear.php.net/.
Back to top
j.Fog
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Aug 07, 2003 3:17 pm (спустя 2 месяца 9 дней 5 часов 14 минут)
   Post subject:
Reply with quote

Да, хорошо придумано.
Но всёже, для меня (IMHO!) плейсхолдеры имеют не большую ценность.
Практически всегда когда я выполняю запрос, и мне нужно в него передать строку, мне эту строку всё равно надо "подготовить"

для этого я пропускаю текст через функцию которая:
(не всегда всё из перечисленного)

1. заменить переводы строк на BR
2. trim
3. htmlspecialchars
4. расстановка "правильных" кавычек
5. Парсинг bb-кода.
6....


то есть ничто не мешает добавить туда же что-то вроде

if (!Get_Magic_Quotes_GPC()) $vars = addslashes($vars);


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

prepare_values('title','description','text');
Back to top
DmitriyPopov
Участник форума



Joined: 10 Mar 2003
Posts: 1491
Карма: 22
   поощрить/наказать


PostPosted: Thu Aug 07, 2003 4:56 pm (спустя 1 час 39 минут)
   Post subject:
Reply with quote

j.Fog:
j.Fog wrote:
1. заменить переводы строк на BR
2. trim
3. htmlspecialchars
4. расстановка "правильных" кавычек
5. Парсинг bb-кода.
6....
Убыть мало, да...

Я когда в то место, где сейчас работаю пришел..... Если бы Вы знали, какими матами я вспоминал того программера, который был здесь до меня...Я его убить готов был. Именно за выполение из перечисленных здесь пунктов, вполненный ПЕРЕД добавлением в базу.
За выполнение ЛЮБОГО из них.
Back to top
View user's profile Send private message
DmitriyPopov
Участник форума



Joined: 10 Mar 2003
Posts: 1491
Карма: 22
   поощрить/наказать


PostPosted: Thu Aug 07, 2003 4:57 pm (спустя 1 минуту 7 секунд)
   Post subject:
Reply with quote

Единственное, что наврал - это то, что trim, конечно, можно.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Aug 07, 2003 9:47 pm (спустя 4 часа 49 минут)
   Post subject:
Reply with quote

Day wrote:
Я имею в виду библиотеку PEAR и её класс DB.
Безусловно. Но у PEAR есть один неоспоримый недостаток — он очень тяжеловесен.
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Fri Aug 08, 2003 3:04 pm (спустя 17 часов 16 минут)
   Post subject:
Reply with quote

Дмитрий Попов wrote:
Единственное, что наврал - это то, что trim, конечно, можно.
Ну ну, Вы собираетесь всё это делать при выводе?
т.е. Добавляем 1 раз, а парсим ровно столько раз сколько страница будет генерироваться, хоть миллион?
имхо нагрузка уж слишком велика будет.
Back to top
Fog
Участник форума



Joined: 23 Mar 2003
Posts: 31
Карма: 0
   поощрить/наказать


PostPosted: Fri Aug 08, 2003 3:06 pm (спустя 1 минуту 58 секунд)
   Post subject:
Reply with quote

Предыдущее сообщение принадлежит мне
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sat Aug 09, 2003 12:49 am (спустя 9 часов 43 минуты)
   Post subject:
Reply with quote

Гость wrote:
Добавляем 1 раз, а парсим ровно столько раз сколько страница будет генерироваться, хоть миллион?
имхо нагрузка уж слишком велика будет.
Для того, чтобы нагрузка была «невелика», и придумали кэширование. Но одно дело — кэшировать обработанные данные, и совсем другое — хранить их в базе. (Кстати, тут, в phpBB, применен как раз плохой метод.)
Back to top
View user's profile Send private message Send e-mail
andry
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat Aug 09, 2003 7:18 pm (спустя 18 часов 29 минут)
   Post subject: SQL COMMAND
Reply with quote

Привет, Дим.

А что если в шаблон wrapper-a необходимо вставить SQL-команду(например NOW())?
Таких возможностей я не нашел:(
по стандартному пути получается 'NOW()', что неверно!

Разрули!
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sat Aug 09, 2003 10:35 pm (спустя 3 часа 17 минут)
   Post subject:
Reply with quote

А если 5 минут подумать?..
Back to top
View user's profile Send private message Send e-mail
DmitriyPopov
Участник форума



Joined: 10 Mar 2003
Posts: 1491
Карма: 22
   поощрить/наказать


PostPosted: Sat Aug 09, 2003 11:39 pm (спустя 1 час 3 минуты)
   Post subject:
Reply with quote

Fog:
Мало того - Вы, ради интереса сравните нагрузку от работы с базой для генерации страницы, с нагрузкой на обработку.... Просто сравните
Back to top
View user's profile Send private message
Fog
Участник форума



Joined: 23 Mar 2003
Posts: 31
Карма: 0
   поощрить/наказать


PostPosted: Mon Aug 11, 2003 10:14 am (спустя 1 день 10 часов 34 минуты)
   Post subject:
Reply with quote

Хех, спорить с более профессиональными людьми - имхо недостойное занятие, доверюсь Вашему опыту :)
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Sun Dec 14, 2003 8:07 pm (спустя 4 месяца 3 дня 9 часов 53 минуты)
   Post subject:
Reply with quote

по теме: Блин, а я просто сделал специальный файлик, который обрабатывает все данные, которые пришли с $_POST, если что, он их stripslash'ит, заменяет "'" на "\'", может даже позаменять псевдотеги, и т.д. (инклюдится, естественно, каждый раз). И после этого модули работают уже с "чистыми" данными, и не надо заботиться о проверке поступающих данных в каждом файле...

P.S. Когда я еще раз прочел Вашу наблу (по прошествии 7 месяцев, вроде), я многое понял. Особенно про функцию debug_backtrace (как раз то, что нужно - выводит и файл, в котором произошла ошибка, и строку, на которой такое безобразие случилось).

Можно вопрос: что будет, если создать класс для работы с БД в файле N, потом этот файлик пройдет через несколько инклюдов, и потом файлик из какой-то другой папки с неизвестным именем, обратится к этой функции, и она обнаружит ошибку ? Правильные ли данные поступят через debug_backtrace о файле, который делал "неправильный" запрос ?
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Dec 14, 2003 8:38 pm (спустя 30 минут)
   Post subject:
Reply with quote

Не знаю. Функция debug_backtrace оперирует только со стеком вызовов функций. Прикиньте, что в нум будет (а еще лучше — распечатайте), и Вы сможете определить, правильно все сработает, или нет.
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Thu Dec 25, 2003 4:26 pm (спустя 10 дней 19 часов 48 минут)
   Post subject:
Reply with quote

Как ни странно, все работает именно так как нужно, в нулевом key содержится именно тот файл и строчка, которая сгенерировала неправильный запрос. Спасибо !
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Goto page 1, 2, 3  Next
Page 1 of 3    Email to a Friend.
Post a reply
Username
Subject
Господа спамеры и оптимизаторы!

Вы можете даже и не пытаться вставлять в текст поста ссылки - они все равно автоматически удаляются (вернее, тэги <a> заменяются на тэги <u>).

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

Disable BBCode in this post
Disable Smilies in this post
    HTML is OFF
BBCode is ON
Smilies are ON
You cannot post new topics in this forum. You can reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML