我被分配为joomla中的自定义组件创建验证码验证,但我仍然坚持如何正确地完成它。
我知道有许多验证码插件,如recaptcha可用,但我需要使用公司创建的自定义验证码。
它将图像文本保存在会话中并在组件中创建图像,因此直接在浏览器中调用index.php?option=com_captcha
将输出验证码图像。
问题是我对joomla完全不熟悉,似乎无法找到一种正确的方法来创建可以在整个系统中重用的代码。我尝试通过创建一个可以调用验证码组件的模块来做到这一点,然后执行逻辑并检查验证码是否正确。
我遇到的问题是我无法找到将变量传递给模块的方法,因此我无法传递captcha组件所需的会话变量。
我看过插件,但我不确定你是否可以直接从组件调用插件。
我目前很难过,并没有想到要去哪个方向以及要搜索什么。任何帮助将不胜感激,谢谢。
答案 0 :(得分:4)
你没有提到你的Joomla!版本,但如果它是1.6+,为什么不使用captcha插件?
然后,如果您set it as the sites default captcha mechanism,任何第三方扩展程序都可以自动使用它。
插件比组件更容易编写... captcha插件只有一些必需的方法 - onInit($id)
,onDisplay($name, $id, $class)
和onCheckAnswer($code)