验证网站的 API
Validate API of a website
我是这方面的新手,这可能是一个简单的问题。但我想验证 API 来自网站。
所以我是一家拥有自己网站的公司的经销商。所有用户都通过我的网站在主要公司的网站上注册,这意味着用户名/密码与公司网站有关。现在,我的网站上有一些东西,我只想向注册用户展示。此外,我有API来检查任何用户的用户名和密码组合,作为回报,我在(file_get_contents)的帮助下得到类似于以下消息:
如果成功:
***<?xml version="1.0" ?>
<!DOCTYPE ValidateUser (View Source for full doctype...)>
- <ValidateUser>
<Customer>james</Customer>
<Result>Success</Result>
</ValidateUser>***
或者如果失败,则:
***<?xml version="1.0" ?>
<!DOCTYPE ValidateUser (View Source for full doctype...)>
- <ValidateUser>
<Customer>james</Customer>
<Result>Failed</Result>
<Reason>User/Password combination unknown</Reason>
</ValidateUser>***
情况就是这样。我想用if语句编写一个php代码,该语句可以检查或验证来自API请求的上述消息,在此基础上,我可以允许或拒绝用户访问我网站上的该特定页面。
希望这对你有意义。提前谢谢。
看看 PHP SimpleXML。使用它进行解析应该相当容易。
一些类似于以下内容的代码应该可以解决问题:
$result = file_get_contents('http://www.example.com/validate?username=john&pwd=mypwdhash');
$simpleXML = new SimpleXMLElement($result);
if ($simpleXML->ValidateUser[0]->Result == "Success"){
// success
} else{
// fail
}
或者,您可以在 XML 字符串中搜索单词"成功"。
附带说明:使用这种方法对用户进行身份验证并不那么安全,因为它涉及提及用户名和密码哈希的 GET 请求(我假设您确实使用密码哈希而不是明文密码,对吧?
您可能不想听到这个 - 但是这种共享密码的方法实际上不是相关第三方站点提供的出色设置。这本质上意味着用户正在为另一个网站输入密码给您(如果我做对了,则为第三方)。如果您这边对用户数据进行了经过身份验证的访问,他们可能应该为此使用 openAuth (http://www.oauth.net),而不是共享密码......
我不一定说你应该建议他们(因为它可能会花费你的工作),但我会考虑一下。如果他们的侧面存在安全漏洞,手指可能会指向您,因为您可以访问某些密码。
相关文章:
- 使用API在我的网站Google-Map上显示搜索地址的纬度和经度
- 我如何从一个无限滚动的网站抓取图像,其中api是隐藏的,我无法通过使用Inspect Element获得它->网络
- 仅允许使用 Dropbox API 访问特定网站
- Firebase API 问题与 AngularJS 网站示例项目
- Codecademy代码在他们的网站上连接到Youtube API,但赢得了't在本地运行
- 试图在网站上抓取谷歌地图api生成的动态数据,但正常抓取返回空白
- MailChimp - 通过我的网站选择(如何通过API添加)
- 验证网站的 API
- 网站的拼写检查 API
- 将自定义标记添加到自定义样式的 Google Maps API v3 for Wordpress 网站
- 为我的网站使用Facebook API JSON的最简单方法(哪种语言以及如何语法)
- 将 Facebook 好友添加到网站 [图形 API 2.5]
- 如何防止网站外部的 API 调用
- 如何使用LinkedIn Javascript API作为我自己网站的登录名
- 如何在网站中使用天气API
- 使用谷歌地图API将自定义地图嵌入网站
- 将Microsoft的情感 API 添加到 HTML 网站
- 不能从我自己的网站调用steam api网站(安全问题)
- 标记将不会加载在谷歌地图API网站通过javascript
- Web通知API -网站不需要打开