我正在制作一个授权系统PHP,我遇到了传递JWT令牌的Bearer方案,我读了RFC 6750.我有以下疑惑:
Authorization: Bearer fdbghfbfgbjhg_something,服务器应该如何处理这个问题decodeFunc(explode(" ", $this->getRequest()->getHeader("Authorization"))[1])?我想,即使他们清除来识别用户访问我的API cookies或localstorage无论我在哪里存储当前会话的信息.我认为这browser fingerprinting是实现这一目标的方法之一.我正在angular2为前端工作.我有以下问题:
angular2,但我想知道散列指纹实际上怎么样?对于我的API中的请求,我将检查有效负载是否包含fingerprint已存在于任何现有会话中的有效负载?(真的有效载荷吗?它只是一个POST请求.用户可以简单地发送一个随机长字符串作为散列fingerprint,API会将请求视为来自不同的人.)hashed fingerprint在frontend,而且要求已达到API,像后验证Google's reCaptcha.有这样的API吗?请写下你的建议.
语言/工具版本:
问题:
我有一个Angular2应用程序,它使用PHP应用程序作为所有XHR请求的API.该应用程序工作正常,但是当Use a prediction service to load pages more quickly在Chrome中启用该选项时,并且当重新加载应用程序时ngOnInit(),在组件内部发送的HTTP请求会被卡住很长时间.请求将在10s-2-3mins之后自行解决,或者如果我发送另一个请求(例如,DOM上的click事件请求),请求也将解析
我试过的事情:
GET请求,然后等待,一旦解决,将有一个成功的OPTIONS请求,然后成功GET.http://api.randomuser.me/而不是请求我的API端点.在这种情况下,请求成功没有任何延迟(尽管它显示CORS错误).所以我认为问题在于我的后端API或Apache Web服务器.我还想分享我的虚拟主机配置.如果您发现任何问题:
<VirtualHost *:80>
ServerName someName.api
DocumentRoot path_to_public_dir
SetEnv APPLICATION_ENV development
<Directory path_to_public_dir>
SetEnvIf Origin "http(s)?://(www\.)?(local\.)?(localhost:4200|someDomain.com)$" AccessControlAllowOrigin=$0
Header always set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} –d …Run Code Online (Sandbox Code Playgroud) 我有一个包含一些条件的字符串,例如:
var str = "this.demoModel.active == '1' && this.demoModel.span > 5 || ..."
是否有一种直接的方法在javascript中解析它们,以便它们像一组条件一样工作.就像是:
if (JSON.parse(str) {}).??
我订阅了路由器事件angular2,当我控制事件时,我发现了一个NavigationCancel事件reason: "".很想知道NavigationCancel触发的原因是什么.不仅empty有理由,而且一般.
看过这个,但这个问题没有答案。所以再问这个问题。
我试图实现一个 PUT。没有工作,我查了requestInformation,并response在responseInterceptor。事实证明,控件永远不会到达我的responseInterceptor.
这是http代码:
put(url: string, body, options?:RequestOptionsArgs): Observable<StandardModelResponse>{
console.log("inside put, url = ", url, " body = ", body);
return this._http.put(url,body,this._updateRequestHeader(options));
}
Run Code Online (Sandbox Code Playgroud)
收到的日志是:
我InMemoryDbService有一个收藏:
let sessionData = [
{
id: 1,
loginActive: 0
}
];
Run Code Online (Sandbox Code Playgroud)
它返回这样的集合:
return {sessionData}
Run Code Online (Sandbox Code Playgroud)
我查看了源代码,是的,确实有一个 post 和 put 的实现,但是我in-memory-backend.service.ts在我node-modules的调试中找不到该文件,而是在in-memory-backend.service.js那里。打这个POST电话的正确方法是什么,我在这里错过了什么?
我对本地 git fork 进行了很多更改,我这样做:
git add -Agit commit -m "commit message"git push到我的起源现在碰巧在我之前的提交和新的提交之间还有其他几个提交(来自其他人)。
我希望看到我在新提交中所做的所有更改并对其进行处理。所以,我愿意
git reset --soft <my previous commit>
Run Code Online (Sandbox Code Playgroud)
它显示了我和其他人修改的文件。
问题:
git diff。我正在使用ProtractorwithJasmine为Angular2应用程序编写 e2e 测试用例。
我有两个问题:
1. 关于 DefaultTimeoutInterval
我有一个了解,倒计时开始,每当一个承诺开始,如果承诺没有得到指定的范围内完成defaultTimeoutInterval的protractor.conf.js,量角器将导致控制台上的错误。但是如果承诺在 内完成,defaultTimeoutInterval那么倒计时将被重置,并会在下一个承诺开始时开始。
如果上述情况属实,我想澄清一下,如果我有一系列承诺,那么倒计时何时重置?在链中的所有promise完成之后还是在每个promise完成之后?
如果在链中的所有承诺完成后倒计时重置,那么正确的做法是将承诺作为it()/fit() blocks?
我在下面有一个示例代码来解释更多我想问的问题。
it("when does protractor's default timeout interval gets reset?", () => {
expect("a single promise here").toBe('something'); // I believe, after the promise inside the expect block finishes, the defaultTimeoutInterval should Reset.
// what happens if I have a chain of promises, like below?
// whether the defaultTimeoutInterval resets after every single promise inside the …Run Code Online (Sandbox Code Playgroud) 我正在用PHP开始一个新项目,并希望选择最新的ZendFramework.我看到Zend Framework 3已经发布,所以我想从Zend Framework 3开始.但是当我进入Zend 的INSTALL页面时,他们给出了Zend MVC和Zend表达的选项.
我阅读了它们,并了解到Expressive是一个微框架,而MVC是一个全栈框架.除此之外,我对它们并不十分清楚.
我看到Zend MVC也适用于ZF2,文档说MVC是一个层.虽然我找不到Expressive for zf2.
题:
zend-http,zend-json等,所以在这些(表现力和MVC)只是建在不同的Zend组件?php zend-framework zend-framework2 zend-framework3 zend-expressive
angular ×4
php ×3
apache ×1
api ×1
bearer-token ×1
browser ×1
cors ×1
git ×1
git-commit ×1
git-revert ×1
http-headers ×1
jasmine ×1
javascript ×1
oauth ×1
parsing ×1
protractor ×1
security ×1
selenium ×1
unstage ×1