相关疑难解决方法(0)

通过api键休息api

我正在使用phil sturgeon REST_Controller为codeigniter创建一个REST api,到目前为止我已经能够创建一个简单的库来为用户生成api密钥.我的问题是现在为每个请求发送api密钥到API,如何在不必为每个请求手动发送它的情况下执行此操作.

php rest codeigniter api-key

29
推荐指数
2
解决办法
4万
查看次数

如何安全地访问外部数据库?

我正在开发一个移动应用程序,它必须访问外部webapp(PHP + Codeigniter)来管理ajax查询的操作.

所以通过这种方式,存在一个问题.如果有人看到使用的URL,可以删除行,或从数据库修改用户的信息.所以我想在这个系统中没有这个:

成功登录后,我会这样做:

// getToken : https://stackoverflow.com/a/13733588/2154101

$this->session->set_userdata('private_token', getToken(50));
$public_token = getToken(50);
$this->session->set_userdata('secure_token', md5("$private_token:$public_token"));
$data['token'] = $public_token;
// some stuff ...
// send $data in JSON
Run Code Online (Sandbox Code Playgroud)

然后客户端将在下一个查询中使用公共令牌,我将在服务器上执行此操作:

$public_token  = $this->input->post('token');
$data['token'] = get_public_token($public_token);
// some stuff ...
// send $data in JSON
Run Code Online (Sandbox Code Playgroud)

get_public_token使用此代码的助手位于何处:

public get_public_token($public_token) {

    $last_secure_token = $this->session->userdata('secure_token');
    $private_token = $this->session->userdata('private_token');
    $actual_token = md5("$private_token:$public_token");

    if ($actual_token === $last_secure_token) {
        $public_token = getToken(50);
        $this->session->set_data('private_token', getToken(50));
        $this->session->set_data('secure_token', md5("$private_token:$public_token"));
        return $public_token;
    } else { // you are cheating me …
Run Code Online (Sandbox Code Playgroud)

php optimization codeigniter cross-domain

0
推荐指数
1
解决办法
259
查看次数

标签 统计

codeigniter ×2

php ×2

api-key ×1

cross-domain ×1

optimization ×1

rest ×1