Недавно я начал копаться в jQuery ajax. Я сделал много улучшений, но я не уверен в одном пункте. Как защитить мои вызовы ajax..
Например, этот код для удаления ссылки:
// Delete link
$('.delete_update').live("click",function() {
var ID = $(this).attr("id");
var dataString = 'linkid='+ ID;
if(confirm('<?php echo _("Are you sure you want to delete this link?");?>')) {
$.ajax({
type: "POST",
url: "ajaxsave.php",
data: dataString,
cache: false,
success: function(html){
$(".bar"+ID).fadeOut('slow', function() {$(this).remove();});
}
});
}
return false;
});
Как показывает пример, ajaxsave.php заботится об удалении ссылки с linkin POST linkid. Насколько мне известно, можно отправить форму сообщения на внешний URL. Это означает, что каждый сможет посмотреть мой исходный код и сделать свои собственные формы сообщений, выбрав их собственный linkid. Таким образом, они могут удалить все ссылки, которые они хотят.
Как я могу защитить свой код? - Http referrer в ajaxsave.php? Скрипты скручивания могли бы испортить это. - Использование сеанса или файлов cookie на странице, вызывающей функцию ajax? Сохранение сеанса в базе данных и проверка его в ajaxsave.php?
Вы можете мне помочь? Как вы это делаете элегантным способом. Или что "нормально" на всех этих современных сайтах ajax.