首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Joomla1.7中发布和获取数据的最佳安全方法是什么?

在Joomla1.7中发布和获取数据的最佳安全方法是什么?
EN

Stack Overflow用户
提问于 2011-11-24 05:14:33
回答 1查看 860关注 0票数 2

我正在开发joomla组件,我想知道通过表单提交发布和获取数据的最佳安全方法是什么。

代码语言:javascript
复制
<form action="index.php?<?php echo JUtility::getToken()?>=1" method="post" name="adminForm">    
    <input type="hidden" name="option" value="<?php echo OPTIOIN_NAME; ?>" />
    <input type="hidden" name="task" value="save" />
    <input type="hidden" name="controller" value="mycontroller" />
    <input type="hidden" name="id" value="<?php echo $this->my_data->id; ?>" />


    <?php echo JHTML::_('form.token');?>

    //my code is here

</form>

model.php

代码语言:javascript
复制
function getPostData(){

     if (!JRequest::checkToken('REQUEST')) {
         // return 403 error
         JError::raiseError(403, JText::_('ALERTNOAUTH'));
         // belt and braces approach to guarantee the script stops
         jexit('Invalid Token');
  }

     $this->_data->id = JRequest::getVar('id', 0, 'POST', 'INT');
     //....


}

这就是我发送数据的方式,我不知道这是否是一个好方法。请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-24 07:41:11

我认为你用的这个方法是可以的。只有一件事:如果您从POST获得数据,我想您的令牌也可以在POST中使用,所以您对JRequest::checkToken( 'REQUEST‘)的调用可以更改为JRequest::checkToken( 'post’)。另一件重要的事情是,如果您使用vars请求手工编制数据库查询,则应该始终使用$db->Quote()方法。最后,正如Thilo所说,您应该将HTTPS用于诸如支付之类的“关键”事务。

希望能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8252496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档