У меня есть форма, которая отправляется на URL-адрес. Этот сервер сохраняет объявления в базе данных и отправляет сообщения электронной почты, а затем отправляет страницу успеха в браузер.Форма работает в Firefox, но в IE8 данные сохраняются, сообщения электронной почты отправляются, но страница успеха блокируется.Как отключить фильтр XSS или переписать форму, чтобы избежать этой проблемы.Я не понимаю, почему он заблокирован, но если я закомментирую раздел информации о пользователе в форме, он будет работать.
Я новичок в Javascript и HTML, и я не понимаю большую часть того, что я читал о фильтре XSS.Я встроил этот код, поэтому я просто не знаю, как правильно кодировать эти формы.
На самом деле есть две формы, созданные с помощью JavaScript и отправленные на сервер.первая форма, представленная в приведенном ниже коде, вызывает проблему XSS, вторая форма, которая очень похожа, работает в основном.
function doSubmit()
{
if (!validateForm())
return false;
if (confirmForm())
{
generateForm_code(); //builds first form
clearUndefinedFieldsInForm("form_generated_code");
document.form_generated_code.target="frame_code";
document.form_generated_code.method="post";
document.form_generated_code.action= "http://their.server.com/servlet/UFO?001=1";
document.form_generated_code.submit();
generateForm(); //builds second form
clearUndefinedFieldsInForm("form_generated");
document.form_generated.target="frame_generated";
document.form_generated.method="post";
document.form_generated.action = "http://their.server.com/servlet/UFO?002=1";
document.form_generated.submit();
}
}
its.server.com отправляет ответ
<body>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8">
</head>
<html>
<script language="javascript">
location.replace("http://my.server.com/successback.html");
</script>
</html>
</body>
My successback.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SUCCESS BACK</title>
</head>
<body>
<script>
parent.successbackHandler();
</script>
</body>
</html>
В этом разделе подсчитываются возвращаемые формы и отправляетсясообщение об истинном успехе, как только получит два ответа.Но так как он только получает один ответ, он никогда не отображает страницу действительно завершенного.html.
totalPostPages= 2
function successbackHandler()
{
totalPostPages --;
if(totalPostPages == 0)
{
MaskDialog.hide();
totalPostPages= 2
window.location="reallyfinished.html";
}
}