Jump to content
  • 0

Кодировка формы


medievalraven
 Share

Question

Здравствуйте. Нужно было написать скрипт для одновременной авторизации на двух сайтах. На 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(прошу личностей с радикальными взглядами не закидывать помидорами :))

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • 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