在將數據提交到接口時,爲避免惡意提交或刷新提交,可以使用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的參數爲傳值方式。