我正在使用DooPHP,我正在为我的表单生成安全令牌以防止csrf攻击。我正在将令牌分配给一个smarty变量,我可以看到它显示在源代码中 - 因此它可用。当我提交表格时,它会抛出错误说:
Undefined variable: secToken
See file C:\wamp\www\korysdoo\protected\class\smarty\sysplugins\smarty_internal_data.php
Error on line 291 $x = $$_variable;
任何想法可能出错?我可以看到secToken的值被发布到适当的函数。
答案 0 :(得分:1)
在smarty可以使用之前你需要register that variable with smarty。
您已经为显示表单的模板执行了此操作,但可能不适用于显示提交结果的模板。然后将其添加到结果模板中。
答案 1 :(得分:-2)
问题解决了。虽然它在其他地方撒谎。当登录失败时(出于不同的原因),我显示了相同的登录表单模板而没有再次分配安全令牌。