Защищать скрипт jquery от "FIREBUG"? - PullRequest
1 голос
/ 21 апреля 2011

Я должен написать скрипт jquery, такой как

function DeleteFile(_FileID) { //ajax method to delete the file }

и идентификатор fileId, присутствующий в атрибуте rel списка

Теперь моя проблема заключается в том, что ...когда я вызывал «DeleteFile» из firebug, передавая fileId (который я знаю по rel), файл фактически удаляется ... Что может быть решением этой проблемы ???

1 Ответ

8 голосов
/ 21 апреля 2011

Firebug имеет доступ ко всем переменным и функциям Javascript.Так делают инструменты разработчика в различных других браузерах.Вы не можете обойти это.(На самом деле, поскольку Firebug и его друзья работают как подключаемые модули браузера, на самом деле они имеют больше доступа к некоторым вещам, чем обычный javascript, включенный в веб-страницу)

Даже если Firebug неЕсли злоумышленник не существует, он может использовать другие средства отладки или администратора для отслеживания HTTP-запроса, который генерируется вашей функцией DeleteFile(), и реплицирует запрос, помещая любой требуемый параметр в GET или POST.Хорошим примером такого инструмента, который может это сделать, является Fiddler , но есть множество других.

Короче говоря, среда браузера является в основном небезопасным местом, и ваш сервер никогда не долженвслепую доверяйте всему, что исходит от браузера.

Вместо того, чтобы пытаться защитить функцию DeleteFile() из браузера, что невозможно, вместо этого вы должны защитить код на стороне сервера, на который DeleteFile() отправляет сообщения.Этот код можно защитить, разрешив удаление только тех файлов, которые пользователь имеет законный доступ для удаления.

После того, как это будет сделано, не имеет значения, начнет ли пользователь взламывать интерфейсный скрипт с помощью Firebug.потому что он не сможет сделать ничего, что ему в любом случае не позволено.Худшее, что может случиться, это то, что его взлом заставит дисплей браузера не синхронизироваться с тем, что на самом деле находится на сервере, но это будет его собственная ошибка и его собственная проблема;это ничего не должно значить для сервера.

...