小编sk8*_* ツ的帖子

在JWT Payload中存储敏感数据是否安全?

我目前正在学习使用PHP的JWT实现,并希望使用JWT令牌代替我的RESTful应用程序的会话.

在签名创建期间,我正在做这样的事情

token = base64Header + '.' + base64Payload + '.' + signature  
Run Code Online (Sandbox Code Playgroud)

这里我们只使用base64 Payload.如果我粘贴到https://jwt.io/#debugger这样的网站,Payload就会被解密(即使签名错误).

我的问题,

  1. JWT仅用于在发送数据时验证服务器的签名吗?
  2. 在Payload中保留敏感数据是不安全的吗?
  3. 如果不安全,任何方法来保护有效负载?

下面是我写的示例代码

<?php
    $headers = base64_encode(json_encode([
        "typ" => "JWT",
        "alg" => "HS256"
    ]));
    $claims = base64_encode(json_encode([
        "sub" => "1234567890",
        "name" => "John Doe",
        "admin" => true,
        "jti" => "870a3de5-ea7b-4062-abef-11180e530f5a",
        "iat" => 1492603378,
        "exp" => 1492606978
    ]));
    $payload = $headers.".".$claims;
    $signature = base64_encode(hash_hmac("sha256", $payload, 'secret', true));
    $encodedJWT = $payload.".".$signature;
    // eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImp0aSI6Ijg3MGEzZGU1LWVhN2ItNDA2Mi1hYmVmLTExMTgwZTUzMGY1YSIsImlhdCI6MTQ5MjYwMzM3OCwiZXhwIjoxNDkyNjA2OTc4fQ.nvw-bAUgr7H_xr3q8_Yz8rCNtMohtn2YlCmcLoLBWlc
Run Code Online (Sandbox Code Playgroud)

php jwt

8
推荐指数
3
解决办法
4086
查看次数

如何在CakePHP中生成安全的私有URL?

我喜欢为用户创建一个安全的URL(删除和编辑链接).

例如,这是我的实际网址

http://localhost/project/blogs/delete/1/test-title
Run Code Online (Sandbox Code Playgroud)

我想做的是,

http://localhost/project/blogs/delete/4324143563443/test-title (some hash made of salt+user auth id)
Run Code Online (Sandbox Code Playgroud)

我的主要目的是创建一个安全哈希以及删除和编辑方法的URL.有没有可用的自定义方法?我搜索在CakePHP的安全功能http://book.cakephp.org/2.0/en/core-utility-libraries/security.html并不能确定其正确的方式是否做到这一点还是不知道哪个algorith使用)

php cakephp cakephp-2.0

5
推荐指数
1
解决办法
1128
查看次数

以俄语字母/数字显示有序列表

以下是我编写的示例代码。我尝试搜索,但不确定如何在有序列表HTML中显示俄语字母或俄语数字。

我浏览了以下页面:https : //developer.mozilla.org/en-US/docs/Web/CSS/list-style-type但我找不到cyrillicRussian

(除非没有其他方法,否则我真的不想使用JavaScript处理此问题。)

.russia {
  list-style-type: lower-alpha;
}
Run Code Online (Sandbox Code Playgroud)
<link href="https://fonts.googleapis.com/css?family=Roboto&display=swap&subset=cyrillic" rel="stylesheet">

<ol class="russia">
  <li>Apple</li>
  <li>Babe</li>
  <li>Carrots</li>
  <li>Dungeon</li>
</ol>
Run Code Online (Sandbox Code Playgroud)

html css

5
推荐指数
0
解决办法
35
查看次数

使用empty()函数检查对象是否为空是否正确?

说,

$obj = $this->someFunc(); // this returns an object

if(empty($obj)){ 
    // suppose $obj is null, it does works correctly
}
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/en/function.empty.php中,empty()仅用于变量和数组.

但是,这是正确的方法吗?

php

3
推荐指数
1
解决办法
1万
查看次数

如何组合两个具有相同类的div - jQuery

我有这样的div结构

<div class="items">
    <div class="itemRow">
        <div class="item">
        <div class="item">
        <div class="item">
    </div>
    <div class="itemRow">
        <div class="item">
        <div class="item">
        <div class="item">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如何让它们合并/组合两个div"itemRow"?就像这样

<div class="items">
    <div class="itemRow">
        <div class="item">
        <div class="item">
        <div class="item">
        <div class="item">
        <div class="item">
        <div class="item">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

使用jQuery

jquery

3
推荐指数
1
解决办法
2596
查看次数

mb_detect_encoding无法正常使用Windows-1250(CP1250)

我在mb_detect_encoding()中检测CP1250时遇到问题,在我的情况下我想要检测3个编码:

mb_detect_encoding($string, 'UTF-8,ISO-8859-2,Windows-1250')
Run Code Online (Sandbox Code Playgroud)

但Windows不支持编码,任何解决方案?

php encoding cp1250

2
推荐指数
1
解决办法
4002
查看次数

标签 统计

php ×4

cakephp ×1

cakephp-2.0 ×1

cp1250 ×1

css ×1

encoding ×1

html ×1

jquery ×1

jwt ×1