2013-04-11 3 views
0

У меня есть таблица в базе данных mysql, и я хотел бы иметь возможность генерировать уникальную строку, чтобы пользователь мог ввести строку, которая будет запускать соответствующий запрос и отображать результат.Создание уникальных идентификаторов вида

Ex)

id | text   | view_code <--this would be randomly generated 
1 | testing  | fsj2343lfs 
2 | another_test | fsdflj2dff 

Там будет текстовое поле на странице, которая будет принимать view_code в качестве входных данных. Если ввод текста соответствует одному из кодов view_codes в таблице, соответствующая запись будет отображаться пользователю.

EDIT: Идея состоит в том, что я бы дал пользователю # 1 view_code из 'fsj2343lfs', и это вернет только запись '1 | текст "и отобразить его на веб-странице. Это делается для того, чтобы этот пользователь видел только эту запись и не имеет доступа к каким-либо другим записям в базе данных.

Это хороший способ обойти это? Есть ли другой способ, который будет работать лучше? Благодаря!

+0

Что именно вы спрашиваете? –

+0

Мне интересно, является ли это хорошим способом генерации кодов, которые я мог бы предоставить пользователям, которые при вводе будут вытаскивать соответствующую запись и отображать ее пользователю. Например, я бы дал пользователю №1 идентификатор «fsj2343lfs», и когда этот пользователь вводит этот идентификатор на веб-странице, они будут видеть запись «1 | тестирование ", которое будет извлечено из базы данных. Таблица будет содержать кучу записей, но пользователю # 1 нужно только увидеть запись с идентификатором 1 и другими записями. –

ответ

1

правильно способ сделать то, что вы пытаетесь сделать, будет иметь пользователь войти на их первом посещении вашего сайта, а затем хранить их username и password$_SESSION в переменных. Затем, когда вы идете сравнить уникальный идентификатор, введенный пользователем, вы попросите свою базу данных проверить уникальный идентификатор для пользователя, имя пользователя и пароль которого совпадают с valeus, хранящимся в вашем SESSION.

+0

У меня есть auto-incrementing поле в таблице (столбец id). Я бы просто дал пользователю автоинкрементный идентификатор записи, которую они интересуют? Это не звучит безопасно, так как любой другой пользователь может ввести номер и потенциально увидеть другую запись в базе данных. –

+0

Нет ничего небезопасного в предоставлении пользователю автогенерированного номера. Большинство систем делают это, чтобы указывать строки при создании таблиц HTML и т. Д. –

+0

Итак, если у меня есть текстовое поле на странице, которая запрашивает автогенерированный номер, это нормально? Нет необходимости генерировать случайную строку, чтобы дать пользователю вместо этого? Я чувствую, что другой пользователь может ввести случайное низкое число (т. Е. 2) в текстовое поле и получить доступ к записи, которую они не должны видеть. –

Смежные вопросы