【发布时间】:2018-01-29 21:08:52
【问题描述】:
我想要做的是在这个 http 获取请求中添加一个密码、用户名标题。如果用户名和密码正确,则让 .php 页面允许该功能。我已经看到很多关于基本授权和发布数据的标题的答案。我想要做的是为这个 http 获取请求添加一些基本的安全性。
数据.ts
getData() {
let headers = new Headers({ 'Content-Type':'*/*' });
headers.append('Authorization', 'Basic' + (loginname + ':' + password) );
this.http.get('https:data.php', { headers: headers }, {})
.map(res => res.json())
.subscribe(data => {
console.log(data.data);
},
err => {
this.connectionAlert();
});
}
数据.php
<?php
$login = ‘loginname’; // move to lib config
$pass = ‘password’; // move to lib config
if (!isset($_SERVER['PHP_AUTH_PW']!= $pass || $_SERVER['PHP_AUTH_USER'] != $login)) {
header('WWW-Authenticate: Basic realm="My Site"');
header('HTTP/1.0 401 Unauthorized');
echo 'User not allowed';
exit;
} else {
echo "<p>Sucess</p>";
}
?>
我的错误是
不能对表达式的结果使用 isset()(您可以改用“null !== expression”)
我在网上找到的答案似乎无法解决问题。
【问题讨论】:
标签: javascript php http-headers