Code: function saveValue(form) { if (form=='edit') var value=$('#'+form+'Field').val(); else if (form=='select') { var options=$('#selectField')[0].options; for (var i=0; i<options.length; i++) if (options[i].selected) { var value=options[i].value; break; } if (value==0) return alert('Не выбран тариф.'); } $.ajax( { type:'GET', url:'ajax.php?act=ajax&option=saveField&field='+global.field+'&value='+value, dataType:'xml', success:function (answer) { if ($(answer).find('error').length>0) { var error=new Array; var list=$(answer).find('error'); for (var i=0; i<list.length; i++) error[error.length]=$(list[i]).text(); print_error(error); } else { $('#i'+global.field).html(form!='select'?value:global.tarifs[value]); show(form,'none'); } } }) } <input onclick="saveValue('edit'); return false;" value="Сохранить" style="width: 45%; float: left;" type="submit"> Возможно ли подделать запрос в данном случае? P.S. global.field имеет значение 'EMAIL'
А как? Я нашел где находится ajax.php, заменил url:'ajax.php?act=ajax&option=saveField&field='+global.field+'&value='+value на url:'http://site/путь до ajax.php/ajax.php?act=ajax&option=saveField&field=EMAIL&value=myemail. Запрос отправлялся такой, до сервера доходил, но mail не менялся.
Потомучто такой запрос(с параметром field=EMAIL и value=myemail) меняет e-mail на сайте. Вопрос стоит поставить немного по другому:"Подвержен ли этот код CSRF-атаке?".
Если генерируется какое-то значение в скрытом поле и отправляется вместе с ajax запросом с последующей проверкой, то нет
Ну с локального компьютера создай html-файл, в ней форму, метод GET, hidden поле filend, value с нужными значениями и автосабмит формы на загрузке, допустим. Если код сработает успешно и данные на сайте обновятся, значит CSRF.