В основном это то, что я делаю:Насколько безопасна сериализация объектов PHP и безопасно ли передавать страницы? (Использование phpXMLrpc)
Im using PHPXMLRPC для связи с Odoo.
В сущности общения для каждого запроса мне нужно отправить через потребность следовать этой структуре:
//The database I wish to connect too
$msg->addParam(new xmlrpcval($this->dbname, "string"));
//The logged in user id
$msg->addParam(new xmlrpcval($this->userID, "int"));
//The logged in users password
$msg->addParam(new xmlrpcval($this->password, "string"));
//The model
$msg->addParam(new xmlrpcval("project.project", "string"));
//The method Im requesting to call
$msg->addParam(new xmlrpcval("read", "string"));
//Query parameters
$msg->addParam(new xmlrpcval($id_list, "array"));
$msg->addParam(new xmlrpcval($field_list, "array"));
Теперь я написал класс, который в конструкторе устанавливает переменный экземпляр в том, что из значений, переданных в его конструктор т.е.
class PHPClient{
private $userName;
private $password;
private $dbname;
private $server_url;
private $userID;
public function __construct($server_url, $database, $user, $password)
{
$this->server_url = $server_url;
$this->dbname = $database;
$this->userName = $user;
$this->password = $password;
$this->userID = False;
}
есть случаи, когда я желаю, чтобы использовать один и тот же объект снова куда-то вниз по линии, возможно, в другой странице. Вместо того, чтобы попросить пользователя снова «войти» снова и снова ввести все свои данные, а затем создать другой объект, было бы достаточно безопасно сериализовать объект PHPClient и хранить в сеансе, а затем на любых других страницах, где мне нужно использовать эту объект, чтобы проверить, что пользователь вошел в систему и имеет достаточные разрешения, затем десериализуйте объект для выполнения дальнейших запросов RPC?
Значит, он все еще сохраняется, хотя объект содержит пароль? Хотя это частная переменная? – mjsey
@mjsey безопасен от чего? – ircmaxell
Безопасно от рук злоумышленника, чтобы изменить его? – mjsey