在将数据提交到接口时,为避免恶意提交或刷新提交,可以使用joomla的Token验证。
html里添加以下代码,来生成token
<?php echo JHTML::_( 'form.token' ); ?>
数据接收页面,
JRequest::checkToken() or die(JText::_('Invalid Token'));
这样就可以通过Token来验证数据提交的来源了。
默认情况下接收Token是通过POST方式。
当GET方式来传值、接收值时,需要添加如下代码:
HTML页面,将生产的token赋值给一个可以通过js获取的元素:
可写作:
<?php echo JHTML::_( 'form.token' ); ?>
<input type="hidden" id="t" name="t" value="<?php echo JSession::getFormToken(); ?>" />
其中
JSession::getFormToken();//获取生成的token值
数据接收页面需写作:
JRequest::checkToken('get') or die(JText::_('Invalid Token'));
其中,JRequest::checkToken的参数为传值方式。