Какой самый лучший безопасный способ POST и GET данных в Joomla 1.7? - PullRequest
2 голосов
/ 24 ноября 2011

Я занимаюсь разработкой компонента joomla и хочу узнать, каков наилучший безопасный способ отправки и получения данных с помощью отправки формы.

<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

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');
     //....


}

Это способ отправки данных, и я не знаю, хороший это метод или нет. Пожалуйста, помогите.

1 Ответ

2 голосов
/ 24 ноября 2011

Я думаю, что этот метод, который вы используете, в порядке.Только одно: если вы получаете данные из POST, я полагаю, ваш токен будет доступен и в POST, поэтому ваш вызов JRequest :: checkToken ('REQUEST') может быть изменен на JRequest :: checkToken ('post')).Еще одна важная вещь заключается в том, что вы всегда должны использовать метод $ db-> Quote (), если ваша база данных вручную обрабатывает запросы, используя переменные из запроса.Наконец, как сказал Тило, вы должны использовать HTTPS для «критических» транзакций, таких как платежи.

Надеюсь, это помогло!

...