Форум: "Прочее";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
ВнизВопросы по MySQL и PHPMyAdmin Найти похожие ветки
← →
ProgRAMmer Dimonych © (2007-05-16 16:29) [0]Взялся тут простенькую штучку написать, используя PHP и MySQL. Но возникли вопросы...
1. Помнится мне, что в базах данных есть возможность создать и использовать в таблице поле, которое будет всегда гарантированно иметь разные значения для разных записей (чего-то первичное, кажись). Подскажите, каким образом это счастье можно создать через PHPMyAdmin. Ну, и будет здорово, если предложите небольшой фрагментик кода на PHP (если там есть какие-либо особенности).
2. Где можно найти информацию по слабым местам связки PHP+MySQL наподобие SQL-Injection. Причём желательно, чтобы это было что-то вроде более или менее полного списка этих слабых мест с кратким описанием того, как их можно устранить.
Пока всё. Заранее спасибо.
← →
clickmaker © (2007-05-16 16:34) [1]
> чего-то первичное, кажись
autoincrement
← →
clickmaker © (2007-05-16 16:40) [2]
> по слабым местам связки PHP+MySQL наподобие SQL-Injection
SQL-injection - это слабое место любой связки, если в ней присутствует динамическое составление запросов без проверки данных для запроса, введенных пользователем
Ну, в ПХП от этой напасти спасают:
- sprintf
- регулярные выражения (грамотно составленные, разумеется)
- хранимые процедуры (с MySql < 5, к сожалению, облом)
← →
ProgRAMmer Dimonych © (2007-05-16 16:57) [3]> clickmaker © (16.05.07 16:34) [1]
> > чего-то первичное, кажись
> autoincrement
Он какого типа должен быть? И вообще: какие свойства надо проставить во время проектирования таблицы? Вчера пробовал добавить индекс какой-то добавить, потом при редактировании свойств этого поля проставлял autoincrement (ну, или что-то в этом духе) - ругался MyAdmin. Кричал, TEXT или BLOB чего-то ему подавай!
Кстати, autoincrement"ное поле - оно автоматически пересчитываться будет при удалении записей или как?
P.S. Надо мне было внимательней на уроках информатики сидеть и про БД слушать. :(
← →
DVM © (2007-05-16 17:01) [4]
> оно автоматически пересчитываться будет при удалении записей
> или как?
Оно просто уникальное, если были записи 1,2,3,4,5 потом удалили 3 и 4, то при добавлении новая запись получит индекс 6
← →
clickmaker © (2007-05-16 17:01) [5]
> Надо мне было внимательней на уроках информатики сидеть
> и про БД слушать
ну как альтернатива - почитай теперь
http://dev.mysql.com/doc/refman/4.1/en/index.html
← →
G_M_S © (2007-05-16 18:48) [6]
> > чего-то первичное, кажись
>autoincrement
> Оно просто уникальное, если были записи 1,2,3,4,5 потом
> удалили 3 и 4, то при добавлении новая запись получит индекс
> 6
Вообще-то автоинкремент гарантирует только увеличение значения на единицу, а уникальности нифига не гарантирует. Пример: два инсерта и апдейт автоинкрементного поля последней записи на соотв. значение из первой. Уникальность гарантируется либо первичным ключом, либо констрейнтом. Правда, 5-й MySQL ругается, если пытаешься объявить автоинкрементное поле, и не делаешь его при этом первичным ключом.
> Где можно найти информацию по слабым местам связки PHP+MySQL
> наподобие SQL-Injection.
Полазь по багтракам. В одном из номеров "Хакера" даже конкурс был, где соотв. баг в скрипте юзался.
> Причём желательно, чтобы это было что-то вроде более или
> менее полного списка этих слабых мест с кратким описанием
> того, как их можно устранить.
Такое место _ОДНО_ - это mysql_query(). Ибо больше некуда запросы пихать. Разберись как сама технология пашет - там все довольно тупо сделано, и сразу поймешь, как с ней бороться :)))
← →
VirEx © (2007-05-16 20:55) [7]когда будешь заливать на сервер готовый сайт, поотрубай вывод ошибок в php, ну или прописывай операторы с собакой, например: @print
← →
easy © (2007-05-16 22:45) [8]> или прописывай операторы с собакой
, или почитай
http://php.ru/manual/ref.errorfunc.html
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c