ФорумПрограммированиеPHP для идиотов → Ajax кросдоменный

Ajax кросдоменный

  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:02

    Динамические поддомены.
    Разруливаю nginx'ом:

    server {
    listen 82.146.58.218:80;
    server_name live-cs.ru *.live-cs.ru;
    location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
    proxy_pass http://82.146.58.218:8080;
    proxy_redirect default;
    proxy_set_header Host $host;
    }
    location / {
    # Для www — делаем редирект на live-cs.ru
    if ($host ~* "^www\.live-cs\.ru$") {
    rewrite ^(.*)$ http://live-cs.ru$1 last;
    }
    if ($host ~* "^(([a-z0-9_\-]+)\.live-cs\.ru)$") {
    set $uid $2;
    rewrite ^(.*)$ /clans/$uid$1 break;
    }

    proxy_pass http://82.146.58.218:8080;
    proxy_redirect http://82.146.58.218:8080/ /;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|ico)$ {
    root /home/epsyl/data/www/live-cs.ru;
    access_log /home/httpd-logs/live-cs.ru.access.log;
    }
    #rewrite_log on;
    }


    Использую
    <base href="http://live-cs.ru/" />
    для того, чтобы сохранились стили, картинки и ссылки нормальными.

    При посылке ajax-запросов с этих поддоменов соответственно получаем ошибки:
    Ошибка системы безопасности: содержимое «http://superclan.live-cs.ru/» не имеет права загружать данные из http://live-cs.ru/ajax/clan-karma/168/1/?_=1237802119517.

    и
    Ошибка: uncaught exception: [Exception… "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" location: "http://live-cs.ru/_js/jquery-pack.js Line: 19"]


    Внимание, вопрос.
    Как решается вопрос с аяксом?

    пробовал рерайтить ajax, но видимо я хуйню делаю
                    location ~* ^/(ajax/)$ {
    proxy_pass http://live-cs.ru:8080;
    proxy_redirect default;
    proxy_set_header Host $host;

    #root /home/epsyl/data/www/live-cs.ru;
    if ($host ~* "^.*\.live-cs\.ru$") {
    rewrite ^(.*)$ http://live-cs.ru$1 last;
    }
    }


    по завершению работы, напишу статью по динамическим поддоменам в фак
    все умрут, а я изумруд
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 23 марта 2009 г. 6:27, спустя 25 минут 4 секунды

    посылать на http://superclan.live-cs.ru/
  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:28, спустя 1 минуту 6 секунд


    посылать на http://superclan.live-cs.ru/
    у меня в js:

    	$.ajax({
    type: 'GET',
    url: '/ajax/clan-karma/' + friend_id + '/' + way + '/',

    мне полностью домен надо прописывать? О_о
    все умрут, а я изумруд
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 23 марта 2009 г. 6:29, спустя 1 минуту 11 секунд

    Для www — делаем редирект на live-cs.ru
    зачем?
    для www сделай просто файлик robot.txt свой, что бы не индексировался с www
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 23 марта 2009 г. 6:30, спустя 1 минуту 25 секунд

    нет зачем? по идеи он напрвит запрос на http://superclan.live-cs.ru/ajax/clan-karma/
  • adw0rd

    Сообщения: 22920 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:32, спустя 1 минуту 30 секунд

  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:32, спустя 37 секунд


    Для www — делаем редирект на live-cs.ru
    зачем?
    для www сделай просто файлик robot.txt свой, что бы не индексировался с www
    это для юзеров


    нет зачем? по идеи он напрвит запрос на http://superclan.live-cs.ru/ajax/clan-karma/
    ну вот он туда и направляет.
    после рерайта получается:
    http://superclan.live-cs.ru/ajax/clan-karma/http://live-cs.ru/clans/superclan/ajax/clan-karma/
    а это уже не то
    все умрут, а я изумруд
  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:33, спустя 29 секунд


    http://www.simplecoding.org/kak-obojti-zapret-na-xss.html
    http://www.simplecoding.org/xss-i-same-origin-policy.html
    http://www.simplecoding.org/xss-s-ispolzovaniem-jsonp-i-jquery.html
    блять
    а словами?
    все умрут, а я изумруд
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:35, спустя 2 минуты 14 секунд

    кроссдоменные аджакс запросы делаются через JSONP

        
    function myCallBack(){/**/}
    $.ajax({
           type: 'GET',
           url: '/ajax/clan-karma/' + friend_id + '/' + way + '/',
           dataType:'jsonp',
           success: function(){}


    myCallBack({jsonp:data})

  • phpdude

    Сообщения: 26645 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:36, спустя 1 минуту 4 секунды

    CTAPbIu_MABP, +1. единственный разумный ответ)
    Сапожник без сапог
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 23 марта 2009 г. 6:39, спустя 3 минуты

    md5, зачем реврайтить? пусть /ajax/clan-karma/ обрабатывает запрос….
    ведь обработчик то один?
  • adw0rd

    Сообщения: 22920 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:43, спустя 3 минуты 53 секунды



    http://www.simplecoding.org/kak-obojti-zapret-na-xss.html
    http://www.simplecoding.org/xss-i-same-origin-policy.html
    http://www.simplecoding.org/xss-s-ispolzovaniem-jsonp-i-jquery.html
    блять
    а словами?

    блять, а почитать?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • adw0rd

    Сообщения: 22920 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 6:44, спустя 36 секунд

    http://www.simplecoding.org/xss-s-ispolzovaniem-jsonp-i-jquery.html
    Это как раз про jsonp
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • md5

    Сообщения: 11953 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 7:09, спустя 25 минут 11 секунд

    CTAPbIu_MABP, спасибо
    все умрут, а я изумруд
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 23 марта 2009 г. 8:11, спустя 1 час 1 минуту 45 секунд

    пажалусто

Пожалуйста, авторизуйтесь, чтобы написать комментарий!