Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
2-1179688675
simona4
2007-05-20 23:17
2007.06.10
объединить базы


6-1164561105
ph0sgen
2006-11-26 20:11
2007.06.10
MX-запись


2-1179743066
dmdel
2007-05-21 14:24
2007.06.10
Richedit


2-1179413482
Qazxswedc1
2007-05-17 18:51
2007.06.10
поиск файлов на локальном диске


3-1174570341
DelphiLexx
2007-03-22 16:32
2007.06.10
Динамическое создание полей в FIBDataSet e





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский