Список сообщений Момору
TRIGGER (SQL)
Доброго времени суток, уважаемые Форумчане)
Друзья, пытаюсь создать триггер который удалял бы хвосты файлов при удалении директории но, пред моим взором навязчиво возникает мною заскриненая и к посту прикрепленная ошибка. Может это Денвер лагает и лучше его заменить Xampp(ом)?
А вот собственно и код злополучного триггера.
Добавлено через 00:40 сек.
Таблица директорий
Написал: Момору 20.04.2013 / 18:39
Друзья, пытаюсь создать триггер который удалял бы хвосты файлов при удалении директории но, пред моим взором навязчиво возникает мною заскриненая и к посту прикрепленная ошибка. Может это Денвер лагает и лучше его заменить Xampp(ом)?
А вот собственно и код злополучного триггера.
DELIMITER $$ CREATE OR REPLACE TRIGGER `tg_foto_dir` AFTER DELETE ON `ac_foto_dir` BEGIN IF(SELECT COUNT(*) FROM `ac_foto_file` WHERE `id_dir` = OLD.id LIMIT 1) = 1 THEN (DELETE FROM `ac_foto_file` WHERE `id_file` = OLD.id) END IF; END $$ DELIMITER;Триггер №2 (Они взаимосвязаны, посему - неразлучны ))
DELIMITER $$ CREATE OR REPLACE TRIGGER `tg_foto_alb` AFTER DELETE ON `ac_foto_album` BEGIN IF(SELECT COUNT(*) FROM `ac_foto_album` WHERE `id_album` = OLD.id LIMIT 1) = 1 THEN (DELETE FROM `ac_foto_file` WHERE `id_album` = OLD.id) END IF; END $$ DELIMITER;
Добавлено через 00:40 сек.
Таблица директорий
/* Таблица директорий в фотоальбомах */ CREATE TABLE IF NOT EXISTS `ac_foto_dir` ( `id` SERIAL, `time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Время создания директории', `time_alter` TIMESTAMP COMMENT 'Время последнего изминения', `open` set('0', '1') NOT NULL DEFAULT '0' COMMENT 'Возможность создавать фотоальбомы в директории. 1 - можно, 0 - запрещено', `size` bigint UNSIGNED NOT NULL DEFAULT '1024' COMMENT 'Максимальный вес выгружаеиого снимка', `dir` varchar(5120) NOT NULL DEFAULT '/' COMMENT 'Адрес текущей директории', `dire` varchar(5120) NOT NULL DEFAULT '/' COMMENT 'Адрес предведущей директории', `name` varchar(128) NOT NULL DEFAULT '' COMMENT 'Название директории', `opis` varchar(1024) NOT NULL DEFAULT '' COMMENT 'Описание директории', PRIMARY KEY (`id`), UNIQUE KEY (`name`), KEY (`time`, `time_alter`, `open`, `size`) ) ENGINE InnoDB CHARACTER SET UTF8 COLLATE utf8_general_ci;
Написал: Момору 20.04.2013 / 18:39
Альтернатива mysql_real_escape_string
6. Муз-ТВ, Вы в этом полностю уверены? У меня сложилось совершенно противоположное мнение и оно к сожалению истинно ибо проверено на практике. Включите показ ошибок и Вы убедитесь в этом воочию
Написал: Момору 28.03.2013 / 19:07
Написал: Момору 28.03.2013 / 19:07
Альтернатива mysql_real_escape_string
3. byvlad, спасибо, друг)
Первое как, говорится чтоб наверника)
Второе же, думаю большой роли не играет. Ведь и то, и другое в принципе проверка на одно и то же.
Важно твое конкретное мнение, слив оба представленных кода в один и проанализировав их как следует, можно ли с полной уверенностью сказать, что конструкция
Именно это меня и интересует, а в синтаксических конструкциях я как нибудь разберусь сам) Волнует вопрос безопасности!
PS
За ранее благодарен
Добавлено через 01:49 сек.
4. Flyd, прочтите пост №1 внимательнее, будьте добры) Там все подробно описано и даже более чем. Спасибо
Написал: Момору 28.03.2013 / 18:22
Первое как, говорится чтоб наверника)
Второе же, думаю большой роли не играет. Ведь и то, и другое в принципе проверка на одно и то же.
Важно твое конкретное мнение, слив оба представленных кода в один и проанализировав их как следует, можно ли с полной уверенностью сказать, что конструкция
<?php if($db -> query("INSERT INTO `tabla` (`id`, `name`) VALUES ('".$_POST['id']."', '".$_POST['name']."')") print 'Запись воспроизведена'; ?>Будет полностью безопасна и не требует дополнительной фильтрации?
Именно это меня и интересует, а в синтаксических конструкциях я как нибудь разберусь сам) Волнует вопрос безопасности!
PS
За ранее благодарен
Добавлено через 01:49 сек.
4. Flyd, прочтите пост №1 внимательнее, будьте добры) Там все подробно описано и даже более чем. Спасибо
Написал: Момору 28.03.2013 / 18:22
Альтернатива mysql_real_escape_string
Никто не в курсе чель?
Написал: Момору 28.03.2013 / 16:57
Написал: Момору 28.03.2013 / 16:57
Альтернатива mysql_real_escape_string
Привет всем!
Не далее чем вчера у меня неожиданно образовалась острая потребность фильтровать все полученные данные еще до открытия SQL соединения.
Естественно попытка все пропустить через mysql_real_escape_string(str)
приведет к вполне ожидаемому результату - ошибке. Следовательно ее надо заменить альтернативной функцией. Первое что, мне пришло в голову это - addslashes(str) которая,аналогично mysql_real_escape_string() экранирует все, как двойные, так и одинарные кавычки. На ней и решил остановится. Но, как говорится: Одна голова хорошо, а две во сто крат лучше. И постольку - поскольку я отнюдь не страдаю излишней самоуверенностью то решил обратится к коллективному разуму и узнать Ваше профессиональное мнение по поводу всей выше описанной затеи.
Имеется в ассортименте следующий код который по мнению пользователей портала dcms.su и моему мнению должен работать безукоризненно и совершенно безопасно не зависимо от ситуации и поставленных задач.
То есть, ниже описаная конструкция приведет к полной фильтрации с учетом экранирования всего лишнего?
Я всем Вам безгранично за ранее благодарен. Помните, для меня мнение каждого из Вас драгоценно)
Написал: Момору 28.03.2013 / 15:54
Не далее чем вчера у меня неожиданно образовалась острая потребность фильтровать все полученные данные еще до открытия SQL соединения.
Естественно попытка все пропустить через mysql_real_escape_string(str)
приведет к вполне ожидаемому результату - ошибке. Следовательно ее надо заменить альтернативной функцией. Первое что, мне пришло в голову это - addslashes(str) которая,аналогично mysql_real_escape_string() экранирует все, как двойные, так и одинарные кавычки. На ней и решил остановится. Но, как говорится: Одна голова хорошо, а две во сто крат лучше. И постольку - поскольку я отнюдь не страдаю излишней самоуверенностью то решил обратится к коллективному разуму и узнать Ваше профессиональное мнение по поводу всей выше описанной затеи.
Имеется в ассортименте следующий код который по мнению пользователей портала dcms.su и моему мнению должен работать безукоризненно и совершенно безопасно не зависимо от ситуации и поставленных задач.
То есть, ниже описаная конструкция приведет к полной фильтрации с учетом экранирования всего лишнего?
<?php function escape_string($str) { if(is_numeric($str)) $str = (int)$str; else { $str = urldecode($str); if(preg_match('#\r\n|\r|\n#', $str)) $str = preg_replace('#\r\n|\r|\n#', ' ', $str); $str = addslashes(trim($str)); } return $str; } $_GET = array_map('escape_string', $_GET); $_POST = array_map('escape_string', $_POST); ?>И в следующий код уже никак нельзя будет сделать SQl иньекцию?
<?php if($db -> query("INSERT INTO `tabla` (`id`, `name`) VALUES ('".$_POST['id']."', '".$_POST['name']) !== false) print 'Запись осуществлена'; ?>
Я всем Вам безгранично за ранее благодарен. Помните, для меня мнение каждого из Вас драгоценно)
Написал: Момору 28.03.2013 / 15:54
Символ 209 (ord)
Вопрос решен. Просто лагает функция strcasecmp. Тему можно крыть.
Написал: Момору 12.01.2013 / 22:16
Написал: Момору 12.01.2013 / 22:16
Символ 209 (ord)
Доброго времени суток, уважаемые Друзья)
Пишу движок, движок мультиязычный. И всё бы ничего но, сегодня столкнулся я с одной проблемой:
Ребят, может кто-то сталкивался с аналогичной, или подобной моей проблемой - подскажите, помогите найти выход....
Заранее Вам благодарен, с уважением Я)
Написал: Момору 12.01.2013 / 20:03
Пишу движок, движок мультиязычный. И всё бы ничего но, сегодня столкнулся я с одной проблемой:
<?php print ord('с'); //209 print ord('у'); //209 ?>И как с этим быть - ума не приложу.
Ребят, может кто-то сталкивался с аналогичной, или подобной моей проблемой - подскажите, помогите найти выход....
Заранее Вам благодарен, с уважением Я)
Написал: Момору 12.01.2013 / 20:03
Вопрос-Ответ по ООП PHP
179. G_A_N_J_A_R, то есть $this будет не уместно?
Добавлено через 06:18 сек.
А если я потом вдруг вздумаю сделать вот так:
vasija::get_person();
Выведет true/false, или же выдаст ошибку?
Написал: Момору 23.09.2012 / 16:05
Добавлено через 06:18 сек.
А если я потом вдруг вздумаю сделать вот так:
vasija::get_person();
Выведет true/false, или же выдаст ошибку?
Написал: Момору 23.09.2012 / 16:05
Вопрос-Ответ по ООП PHP
Привет всем)
Вкурсе можно ли обращатся к переменной экземпляра из статического метода класса?
Например:
Зарание Вам благодарен)
Написал: Момору 23.09.2012 / 15:50
Вкурсе можно ли обращатся к переменной экземпляра из статического метода класса?
Например:
<?php class vasija { protected $person = false; public static function set_person() { $this->person=true; } public static function get_person() { return $this->person; } } ?>Можно ли сделать так, или обязательно использовать self, parent, static?
Зарание Вам благодарен)
Написал: Момору 23.09.2012 / 15:50
Круглосуточное общение (10.05.2012 - 02.10.2012)
Дарова всем эта я
Написал: Момору 18.09.2012 / 22:10
Написал: Момору 18.09.2012 / 22:10