我有一个联系表格,可以做一个非常简单的验证码系统,例如“太阳是热还是冷?”用户进入热门。我在type =“hidden”字段中包含以下处理表单的原始问题和答案。
问题是这些输入字段在以下php页面上始终为空白。这是我在联系表格上的代码:
<form id="contact-form" name="contact-form" method="POST" onsubmit="return true;" action="submit.php">
<fieldset>
[...]Removed For Convenience[...]
<label class="captcha" id="captcha" name="captcha">
<span style="color:#FFFFFF">Is the sun hot or cold?</span>
<input type="text" value="hot" name="answer" id="answer">
<input type="hidden" value="Is the sun hot or cold?" name="realquestion" id="realquestion">
<input type="hidden" value="hot" name="realanswer" id="realanswer">
<p>Please answer as simply as possible; hot, cold, z, etc. (This question is for security purposes)</p>
</label><br>
<div class="clear-form"></div>
<div class="buttons-wrapper">
<input id="button-2" type="submit" value="Submit">
</div>
</fieldset>
</form>
接下来的页面,submit.php我把它放在最顶层的“print_r($ _ POST);”这是返回的数组:
Array ( [Name] => asasasas [Email] => My.Email@gmail.com [contactTime] => Best Time To Contact You? [Phone] => Phone: [Account] => Account: [OS] => [Department] => [Message] => Message: [answer] => hot [realquestion] => [realanswer] => )
现在是踢球者,如果在我的联系页面上,我将type =“hidden”更改为type =“text”这两个字段,其他任何代码都无效。一旦完成,我可以将其更改回type =“hidden”,它将继续为该会话工作。如果我切换浏览器,重新启动浏览器或转到另一台计算机,它将返回到无法读取这些隐藏的输入字段。
之前是否有人遇到此事或知道可能会发生什么?我不知所措。我真的想弄清楚这个问题,而不是使用像javascript验证这样的解决方法,我已经这样做但我希望php检查到位,以防他们有javascript关闭(我假设我们已经获得的机器人垃圾邮件有它关)。
答案 0 :(得分:13)
通过更改
解决了问题<input type="hidden" value="Is the sun hot or cold?" name="realquestion" id="realquestion">
<input type="hidden" value="hot" name="realanswer" id="realanswer">
到
<input type="hidden" value="Is the sun hot or cold?" name="realquestion" id="realquestion" **/>**
<input type="hidden" value="hot" name="realanswer" id="realanswer" **/>**
并没有被浏览器缓存绊倒。
答案 1 :(得分:0)
^[\w\s.'-ÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ]{2,70}$
为我捕获隐藏的字段值。