Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как спратать ссылку AJAX (https://javascript.ru/forum/misc/18122-kak-spratat-ssylku-ajax.html)

badvanek 18.06.2011 03:15

Как спратать ссылку AJAX
 
Доброго времени суток
есть Ajax запрос
$.ajax({
                type: "POST",
                url: "http://www.mysite.ru/folder/status",
                data: ({status: status})
           });

как скрыть адрес и при этом сохранить работоспособность скрипта
что б не копировали адрес и не запускали по нему скрипт
пробовал так обезопасить(если есть $_post['access']) тода все норм если нет редирект на главную
var access = 'ok';
$.ajax({
                type: "POST",
                url: "http://www.mysite.ru/folder/status",
                data: ({status: status, access: access})
           });

видел на каком то сайте похожий запрос но вместо адреса стоит переменная которая нигде не обьявлена и больше нигде не встречается кроме запроса
как так сделать?
заранее спасибо за помощь

DreamTheater 18.06.2011 03:39

Как-то у Вас все слишком сложно, если этот скрипт выполняет какие-либо "небезопасные" операции, тогда нужно сделать так чтобы он работал только с определенным токеном.

badvanek 18.06.2011 12:51

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

dmitriymar 18.06.2011 13:01

никак. закодировать скрипт через сервисы кодирования-при желании можно раскодировать.усложнить можно чтоб явно её не было видно,но опять при желании..
в другую сторону нужно идти -запретить запуск его отдельно от страницы сайта

badvanek 18.06.2011 13:17

DreamTheater Пример можно?

badvanek 18.06.2011 13:23

dmitriymar в даном сайте используется движок и status это функция в контролере. Как ограничить

dmitriymar 18.06.2011 13:41

я с джиквери не работаю. и о каком движке речь идёт и что там зя ,что нельзя -не предполагаю.
ответы как усложнить код-есть в гугле.
так же ответы -как запретить запускать кроме как с сайта -тамже.
ограничить-рой заголовки и user_agent
как вариант-сделать передачу методом пост,отключить глобал и проверять заголовки user_agent

melky 18.06.2011 13:53

вы хотите обфусцировать URL?

вот один сервис, как раз пишущий доллары.( рядом с jQuery смотрится ужасающе)

Цитата:

"http://www.mysite.ru/folder/status"
засунул в textarea,потому что сидеть и кавычки экранировать лень

<textarea style="display:none;">$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+$.__+"(\\\"\\"+$.__$+$.$_$+$.___+$.__+$.__+"\\"+$.__$+$.$$_+$.___+"://\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$$_+$.$$$+".\\"+$.__$+$.$_$+$.$_$+"\\"+$.__$+$.$$$+$.__$+"\\"+$.__$+$.$$_+$._$$+"\\"+$.__$+$.$_$+$.__$+$.__+$.$$$_+".\\"+$.__$+$.$$_+$._$_+$._+"/"+$.$$$$+$._$+(![]+"")[$._$_]+$.$$_$+$.$$$_+"\\"+$.__$+$.$$_+$._$_+"/\\"+$.__$+$.$$_+$._$$+$.__+$.$_$_+$.__+$._+"\\"+$.__$+$.$$_+$._$$+"\\\"\\"+$.$__+$.___+")"+"\"")())();</textarea>

<script>
eval( document.getElementsByTagName( 'textarea' )[0].value )
</script>

DreamTheater 25.06.2011 12:26

Токен представляет собой некий код доступа, который высылается пользователю при авторизации (если на сайте нет авторизации, то тоже в принципе можно), самый распространенный пример:

В течение сессии любое взаимодействие с сервером сопровождается токеном, иначе действие будет запрещено.

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


Часовой пояс GMT +3, время: 04:25.