这段Javascript 1.2代码中有什么漏洞?
一位朋友给我指了指他的旧网站,说“提交表单不久前就停止工作了。我相信它很简单。” 表单要求孩子从书中输入某个单词,并根据答案将孩子重定向到成功页面或失败页面。它使用Javascript 1.2,大约在2001年 您可以在以下位置看到此表单的实际应用: 知道为什么会失败吗 HTML可执行以下操作:这段Javascript 1.2代码中有什么漏洞?,javascript,Javascript,一位朋友给我指了指他的旧网站,说“提交表单不久前就停止工作了。我相信它很简单。” 表单要求孩子从书中输入某个单词,并根据答案将孩子重定向到成功页面或失败页面。它使用Javascript 1.2,大约在2001年 您可以在以下位置看到此表单的实际应用: 知道为什么会失败吗 HTML可执行以下操作: <script src="password.js" type="text/javascript" language="JavaScript1.2"> </script> &l
<script src="password.js" type="text/javascript" language="JavaScript1.2">
</script>
<script type="text/javascript" language="JavaScript1.2">
<!--
function showRightPage ()
{
return window.location.href = "extra.html" ;
}
function showWrongPage ()
{
return window.location.href = "sorry2.html" ;
}
//-->
</script>
谢谢 此处失败: document.callThis.document.questionForm.userAnswer.value document.call这是未定义的,我从未见过该函数 你也许可以替换
if (agt.indexOf("msie") != -1)
{
rawAnswer = document.questionForm.userAnswer.value ;
}
else
{
rawAnswer = document.callThis.document.questionForm.userAnswer.value ;
}
只需将其替换为:
rawAnswer=document.questionForm.userAnswer.value
我只是在Firefox上快速测试了一下,但我不明白为什么它在其他地方不起作用。第一个答案是正确的我所知道的任何地方都不存在这个。我想那是网景的老东西 我从不按名称进行表单访问,但javascript看起来应该可以工作。备选版本如下所示:
rawAnswer=document.getElementsByName('userAnswer')[0] 请格式化你的代码。有括号汤这样的东西吗?谢谢!这就解决了!我测试了不同的浏览器。谢谢!是的,在收到这个提示后,我去谷歌搜索了。我无法获得显示调用此函数的清晰搜索结果。
document.write ( '<form name="questionForm" action="extra.html" method="post">' ) ;
function checkAnswer ()
{
currentAnswer = answersArray [ choiceNumber ] ;
if (agt.indexOf("msie") != -1)
{
rawAnswer = document.questionForm.userAnswer.value ;
}
else
{
rawAnswer = document.callThis.document.questionForm.userAnswer.value ;
}
lcAnswer = rawAnswer.toLowerCase ( ) ;
includedAnswer = lcAnswer.indexOf ( "currentAnswer" ) ;
zadaAnswer = lcAnswer.indexOf ( "zada" ) ;
brendanAnswer = lcAnswer.indexOf ( "brendan" ) ;
nineAnswer = lcAnswer.indexOf ( "nine" ) ;
thirtyAnswer = lcAnswer.indexOf ( "thirty" ) ;
if ( choiceNumber == 0 )
{
if ( includedAnswer == -1 && zadaAnswer == -1 && brendanAnswer == -1 )
{
checked = "wrong" ;
}
}
if ( choiceNumber == 8 )
{
if ( includedAnswer == -1 && zadaAnswer == -1 && nineAnswer == -1 )
{
checked = "wrong" ;
}
}
if ( choiceNumber == 16 )
{
if ( includedAnswer == -1 && zadaAnswer == -1 && thirtyAnswer == -1 )
{
checked = "wrong" ;
}
}
if ( choiceNumber != 0 && choiceNumber != 8 && choiceNumber != 16 )
{
if ( includedAnswer == -1 && zadaAnswer == -1 )
{
checked = "wrong" ;
}
}
if ( checked == "wrong" )
{
showWrongPage () ;
}
else
{
showRightPage () ;
}
}
if (agt.indexOf("msie") != -1)
{
rawAnswer = document.questionForm.userAnswer.value ;
}
else
{
rawAnswer = document.callThis.document.questionForm.userAnswer.value ;
}