2012-01-11 1 views
0

У меня есть система учетной записи пользователя и уровни администрирования. То, что я хочу сделать, это удалить изображения с помощью jquery и PHP-запросов, но я беспокоюсь о безопасности, поскольку люди могут использовать firebug, чтобы видеть, что отправляется (ID пользователя, Идентификатор изображения и т. Д.), И делается на PHP, так что лучший способ сделать это, не беспокоясь об этом? Я мог бы просто использовать PHP, но хочу, чтобы он был анимированным и не обновлял страницу.jQuery php запрос с безопасностью

+1

В каком именно виде вы беспокоитесь? Единственный материал, который должен быть отправлен пользователю, - это то, что вы хотите, чтобы пользователь видел такие вещи, как image_id. Если вы правильно проверяете и проверяете свои входы (подготовленные запросы), худшее, что может случиться, - кто-то отправляет запрос на удаление изображения, которое у них нет. Что вы можете объяснить с предложением redmoon7777. – jakx

+0

Тихие downvotes должны быть запрещены. Upvoting. – Teson

ответ

2

Если вы не хотите, чтобы пользователь удалял изображение, которое не является его, просто проверьте, принадлежит ли он ему или нет. что-то вроде:
SELECT * FROM table WHERE image_id='$image_id' AND user_id='$user_id'

за $ user_id должен содержать идентификатор пользователя, хранящуюся в сеансе (тот, который вы использовали для AUTH)

1

Это зависит от того, что вы хотите сделать:

1.Вы администратор должен удалить фотографию, например, выполнить аудит, так что вы просто получите user_id из cookie или сессии (не параметр POST) и проверьте его привилегию (чтобы быть администратором), а затем решите, что делать

2.Вы нуждаетесь пользователь удаляет фотографию, принадлежащую ему, в этом случае e он идентичен тому, что сказал redmoon7777, вы просто проверяете user_id в cookie или сеансе, смотрите, что то же самое с создателем фотографии

0

Для лучшей безопасности все разрешенные действия должны быть осведомлены о сервере - так или иначе.

Скорее всего, будет участвовать пользователь данные сессий,

  • Проверка их (сессионный хранимый) группы грантов и позволяя Ajax-запрос.

  • Наличие хеша для каждой конкретной команды ajax, основанной на конкретном состоянии.

Если вы не хотите возиться с сеансовым логики, я верю, ваши лучшие попытки безопасности (частично некорректной) является хэш-запроса Ajax со случайным секретным ключом. как

коснуться

md5 (thepk & thedate & theprivatekey) => а = & хэш в Ajax URL

на Ajax запроса, проверки достоверности Params путем повторного вычисления хэш.

// т

0

eencode ур параметры функции, такие как photo_id с помощью base64_encode (или другим способом) и в стороне сервера декодировать его. Таким образом, если пользователь увидел параметр ur param, он не может ничего делать с параметрами ur.