Jump to content

medievalraven

Neophyte
  • Posts

    1
  • Joined

  • Last visited

medievalraven's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Здравствуйте. Нужно было написать скрипт для одновременной авторизации на двух сайтах. На javascript кроссдоменные запросы делать сложно, поэтому придумал обход - создать два iframe, а внутри них 2 формы. На самой странице, где фреймы, 2 поля - логин и пароль. После нажатия на кнопку "войти", с помощью javascript данные передаются в обе формы в фреймах и их сабмит. Всё бы хорошо - всё отлично работает, но не обрабатывается кириллица. С помощью плагина к FF(HttpFox) обнаружил, что данные при обычной авторизации юзера передаются в кодировке UTF-8, а в формах, которые во фреймах, данные обрабатываются браузером и отправляются в каком то другом формате. Погуглил по этому вопросу - поставил атрибуты к form, мета теги и нашел как на js перекодировать в utf-8 - не сработало. То есть, если смотреть как запрос происходит - то данные совпадают, но при обычной авторизации есть приписка utf-8, а в искуственной - нет. Я так полагаю, проблема в заголовках страницы, наверное... Что можете посоветовать по поводу решения данной проблемы? вот код страницы: <input id='log' type='text' name='user' value=''><br> <input id='pas' type='password' name='password' value=''><br> <input type='button' onclick="document.getElementById('prll_inpt').contentWindow.document.getElementById('log').value=encodeURIComponent(document.getElementById('log').value);document.getElementById('prll_inpt').contentWindow.document.getElementById('pas').value=document.getElementById('pas').value;document.getElementById('prll_inpt').contentWindow.document.getElementsByTagName('form')[0].submit();document.getElementById('prll_inpt2').contentWindow.document.getElementById('log').value=document.getElementById('log').value;document.getElementById('prll_inpt2').contentWindow.document.getElementById('pas').value=document.getElementById('pas').value;document.getElementById('prll_inpt2').contentWindow.document.getElementsByTagName('form')[0].submit()"> <iframe style='width:100%;height:500px' id='prll_inpt' src='/parallel_input.html'></iframe> <iframe style='width:100%;height:500px' id='prll_inpt2' src='/parallel_input2.html'></iframe> оба фрейма имеют такой код: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><form method="post" charset='utf-8' action='адрес сайта/index/sub/'><input type='hidden' name='user' value='' id='log'><input id='pas' type='hidden' name='password' value=''><input type='hidden' name='rem' value='1'><input type='hidden' name='a' value='2'><input type='hidden' name='ajax' value='1'><input type='hidden' name='_tp_' value='xml'><input type='hidden' name='rnd' value=''><script>var rnd;function rndNum(){rnd=Math.round(Math.random()*1000)}function postNum(){document.getElementsByName('rnd')[0].value=rnd}function rcrnt(){rndNum(rnd);if(rnd<1000&&rnd>99){postNum(rnd)}else{rndNum(rnd);rcrnt()}}rcrnt()</script></form></body></html> P.S.: php файлы редактировать невозможно - это ucoz(прошу личностей с радикальными взглядами не закидывать помидорами )
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy