我该如何发送交易报价

问题描述 投票:6回答:3

实际上我正在研究Steam交易提供功能,我遇到了问题。我已下载Steam类库并在Codeigniter中实现它。我正在按照https://github.com/halipso/php-steam-tradeoffers#setupsessionid-cookies的设置指南进行操作。实际上我不知道会话ID和cookie:

$steam->setup('sessionID', 'cookies');

什么是sessionIDcookies

我已经读过它,但没有得到任何解决方案。如何在我的代码中获取并实现它?

php api codeigniter steam steam-web-api
3个回答
3
投票

好吧,如果这是在Laravel你可以发送_token,由他们称为csrf_field


在CI中你可以这样做。 (csrf生成唯一的会话ID)

路径 - application/config/config.php

$config['csrf_protection'] = TRUE;

在“登录”表单中,您可以添加此页面或在页面初始化中添加此项

$csrf = array(
        'name' => $this->security->get_csrf_token_name(),
        'hash' => $this->security->get_csrf_hash()
);

<input type="hidden" name="<?=$csrf['name'];?>" value="<?=$csrf['hash'];?>" />

因此,在保存时,您可以将其添加到会话中。 BTW此令牌也可用于cookie。

阅读此Cross-site request forgery (CSRF)

标记可以在每次提交时重新生成(默认),也可以在CSRF cookie的整个生命周期内保持相同。标记的默认重新生成提供更严格的安全性,但可能导致可用性问题,因为其他标记变得无效(后退/前进导航,多个选项卡/窗口,异步操作等)。您可以通过编辑以下配置参数来更改此行为

源Codeigniter文档


如果它不在登录页面中,那么

它更好地设置这个false,(由于这个令牌可能会在每次提交时重新生成(默认))

$config['csrf_regenerate'] = FALSE;

2
投票

会话ID是Steam的UUID,对应于我们的Steam配置文件。 Cookie可以让您进行身份验证。

以下是如何获取sessionID和cookie的示例:https://github.com/SzymonLisowiec/php-steamlogin(不是我的回购,信用SzymonLisowiec)


2
投票

首先,doc上的文档说您只需要一个API KEY就可以将请求和调用发送到端点,因为您正在使用的类库已经帮助您进入您的帐户并自己获取API KEY。 所以通过检查类SteamTrade将解释setup(sessionId,cookies):

  1. 如果有API KEY,那么我不需要Cookies和SessionID停止其他去第2步。
  2. 获取API KEY,但您应该向我提供Cookie和sessionid,以便我登录并接受协议,并将您的帐户注册为开发者帐户,请执行步骤1,否则显示错误。

注意:使用此格式完成的所有调用仅在不提供API KEY时才需要SessionID和Cookies。

http://api.steampowered.com/interface-name/method-name/version/?key=apikey&format=format。 截图: 展示如何使用firefox检查器cookie选项卡获取sessionid和cookie

sessionid screenshot

© www.soinside.com 2019 - 2024. All rights reserved.