不能从我自己的网站调用steam api网站(安全问题)
Cannot make calls to steam api site from my own site (Security Issue)
我正在尝试创建一个利用steam web api的web应用程序,总的来说,我基本上非常困惑如何启动这个应用程序。这个问题基本上概括了我的问题,我不知道如何确切地创建端点并解决这个问题。
目前我有Apache Tomcat为我的web服务器,我写所有的html/css/javascript代码在notepad++。我不想使用jQuery,因为我不知道是否需要。现在我要做的就是从steam的api中获取数据。
例如,使用这个api:
http://api.steampowered.com/ISteamUser/GetFriendList/v0001/?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&steamid=76561197960435530&relationship=friend
我只是想抓取一个用户的好友列表。问题是,正如我上面链接的问题,我不能从我自己的网站调用steam api,我不知道如何在我的服务器上创建一个端点并解决这个问题。
非常感谢任何帮助。我对这一切都很陌生,这绝对让我很困惑。
您可以使用mod_proxy从服务器代理请求到steam站点。首先需要在Apache中启用重写和mod代理
a2enmod rewrite
a2enmod proxy
apache2ctl reload
让我们假设您的网站是www.example.com
和网络根是/var/www
在您的服务器上。创建目录/var/www/steamapi
。在这个目录中,用以下命令创建一个名为.htaccess
的文件
RewriteEngine On
RewriteRule ^(.*)$ http://api.steampowered.com/$1 [P]
[p]告诉Apache代理请求。现在,在XHR/AJAX url参数
中使用绝对url,而不是向api.steampower.com发出请求/steamapi/ISteamUser/GetFriendList/v0001/?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&steamid=76561197960435530&relationship=friend
Apache将把请求重写为下面的URI,并将结果代理回给您。你的浏览器不会抱怨,因为你正在向同一个域发出请求。
http://api.steampowered.com/ISteamUser/GetFriendList/v0001/?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&steamid=76561197960435530&relationship=friend
据我所知,对于Steam的公共api,他们不应该像上面的答案所建议的那样需要代理来做AJAX请求(这是我假设你正在做的),因为他们肯定必须实现CORS。此外,这只是一个浏览器限制,不应该影响任何服务器端。
Dustin试图解释如何绕过的限制是与向您正在请求的不允许CORS(跨域资源共享)的域上的站点发出AJAX请求有关。因此,一个网站将把数据发送到一个代理服务器,这个代理服务器是为了代表它发出请求并返回数据而设置的。
你能详细说明当你试图提出请求时,你会遇到什么样的错误吗?
我假设你正在使用这里找到的api,https://developer.valvesoftware.com/wiki/Steam_Web_API GetPlayerSummaries_.28v0001.29
在这种情况下,我必须问,如果你看到所有的x在哪里,这些是URI中的占位符。你应该有一个Steam Web API密钥,你可以从这里注册:
https://steamcommunity.com/dev/apikey我不确定域名在注册时是否那么重要,因为我之前已经改变了密钥的用途。
请注意,Valve的公共api是相当有限的,许多在网络上浮动的库不使用它们,而是通过反向工程Valve的Oauth登录代码为他们的主要站点使用私人的,未记录的web api,或者他们以某种方式反向工程桌面客户端本身。
- 刚将我的网站移到ssl,但我有不安全的内容
- 从安全网站获取特定数据
- REST 服务/网站安全 - 停止页面“闪烁”
- 在 HTTPS 网站中包含不安全的流网址
- 网站安全:用静默的java驱动器感染人们意味着什么
- 在一个简单的网站上违反了内容安全策略指令
- 在第三方网站上运行的安全JavaScript
- 如何创建一个可以安全作为网站的按钮
- Chrome Kiosk模式下的安全网站
- 不能从我自己的网站调用steam api网站(安全问题)
- 确保javascript前端/REST后端架构网站安全的最佳方法
- 哪个更安全——iframe还是CORS——用于创建嵌入第三方网站的小部件
- 如何在网站上安全的谷歌地图api密钥
- 安全脚本清除缓存,并立即离开网站
- 不同的网站安全措施(HTTP报头等)
- 我可以在高度安全的网站上使用什么类型的标签来跟踪数据(cookie)
- 如何在安全的网站上正确地在chrome扩展内容脚本中预处理ajax
- 将javascript图像上传器添加到.NET网站-安全问题
- 从安全 (https) 互联网网站内通过 http 与 LAN 设备通信
- 是一个带有html和javascript安全的网站