我目前正在学习使用PHP的JWT实现,并希望使用JWT令牌代替我的RESTful应用程序的会话.
在签名创建期间,我正在做这样的事情
token = base64Header + '.' + base64Payload + '.' + signature
Run Code Online (Sandbox Code Playgroud)
这里我们只使用base64 Payload.如果我粘贴到https://jwt.io/#debugger这样的网站,Payload就会被解密(即使签名错误).
我的问题,
下面是我写的示例代码
<?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) 我喜欢为用户创建一个安全的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使用)
以下是我编写的示例代码。我尝试搜索,但不确定如何在有序列表HTML中显示俄语字母或俄语数字。
我浏览了以下页面:https : //developer.mozilla.org/en-US/docs/Web/CSS/list-style-type但我找不到cyrillic或Russian。
(除非没有其他方法,否则我真的不想使用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)
说,
$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()仅用于变量和数组.
但是,这是正确的方法吗?
我有这样的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
我在mb_detect_encoding()中检测CP1250时遇到问题,在我的情况下我想要检测3个编码:
mb_detect_encoding($string, 'UTF-8,ISO-8859-2,Windows-1250')
Run Code Online (Sandbox Code Playgroud)
但Windows不支持编码,任何解决方案?