smith197 / steamauthentication
SteamAuthentication 是一组基本的 PHP 文件,允许用户使用 Steam 账户登录以查看您网站上的受保护内容。它使用用户的 steamid 作为 sessionID 创建会话,并在用户访问页面时检查会话。它还包括一个文件,允许您使用他们的个人资料信息,例如他们的头像和在线状态。
This package is not auto-updated.
Last update: 2024-09-21 15:28:18 UTC
README
SteamAuthentication 是一组基本的 PHP 文件,允许用户使用他们的 Steam 账户登录以查看您网站上的受保护内容。它使用他们的 steamid 作为 sessionID 创建会话,并在用户访问页面时检查会话。它还包括一个文件,允许您使用他们的个人资料信息,例如他们的头像和在线状态。
在 https://bensmith.in/steam/ 查看演示
赌博网站
我 neither Steam 都不赞成使用这个库用于赌博网站。任何使用此库进行此目的的网站都违反了他们的 API 协议,并将收到来自 Steam 的停止运营的通知。
更多信息请参阅: http://store.steampowered.com/news/22883/
通过下载此库,您同意不会将其用于任何赌博或非法活动。
问题
对于与 SteamAuthentication 库直接相关的问题,请随意在 Github 上创建一个问题。
对于任何一般的 PHP 或 SQL 问题,请使用 stackoverflow 或类似网站,否则我们通常会在创建后立即关闭这些问题,谢谢!
下载
请注意,主存储库正在不断更新,可能包含错误和其他尖端风险。对于稳定的下载,请访问发布页面: https://github.com/SmItH197/SteamAuthentication/releases
前言
感谢
- JTX 提供原始 steam openid 脚本 (http://pastebin.com/6vZT4RhD)
- LightopenID 库 (http://gitorious.org/lightopenid)
使用 MySQL 吗? 不要忘记清理您的输入!
安装方法
上传 steamauth
文件夹。
打开 SteamConfig.php
- 将
domainname
改为您的域名。 - 将
apikey
改为您从 http://steamcommunity.com/dev/apikey 获取的 API-Key。
现在在您想要使用 steamauth 库的页面中,在顶部添加以下内容
<?php require 'steamauth/steamauth.php'; ?>
并且您想要保护的内容所在的位置
<?php if(!isset($_SESSION['steamid'])) { loginbutton(); //login button } else { include ('steamauth/userInfo.php'); //To access the $steamprofile array //Protected content logoutbutton(); //Logout Button } ?>
默认情况下,注销和登录按钮会重新加载当前页面,这可以在 SteamConfig 文件中更改。
请注意,将文件命名为您的网页根目录中的 steamauth 文件夹中的任何文件都将破坏 SteamAuth。
选择登录按钮样式
您可以通过指定变量选择登录按钮的样式,如下所示
loginbutton("rectangle");
loginbutton(); -OR- loginbutton("square");
使用个人资料变量
我创建了一个userInfo.php文件,它创建了一个数组,其中包含可用的变量,这些变量包括登录的Steam用户的个人信息
$steamprofile['steamid']
- 用户的唯一SteamID$steamprofile['communityvisibilitystate']
- 这表示个人资料是否可见。$steamprofile['profilestate']
- 如果设置,表示用户已配置社区个人资料(将被设置为'1')$steamprofile['personaname']
- 他们当前设置的资料名$steamprofile['lastlogoff']
- 用户上次在线时间,以Unix时间表示 查看维基,获取帮助转换日期和时间$steamprofile['profileurl']
- 他们的Steam个人资料URL$steamprofile['avatar']
- 他们头像的最小尺寸的图片URL(32px x 32px)$steamprofile['avatarmedium']
- 他们头像的中等尺寸的图片URL(64px x 64px)$steamprofile['avatarfull']
- 他们头像的最大尺寸的图片URL(184px x 184px)$steamprofile['personastate']
- 用户的当前状态,1 - 在线,2 - 忙碌,3 - 离开,4 - 打瞌睡,5 - 想要交易,6 - 想要玩游戏$steamprofile['realname']
- 用户的“真实”姓名$steamprofile['primaryclanid']
- 用户的初级群组$steamprofile['timecreated']
- 账户创建时间,以Unix时间表示 查看维基,获取帮助转换日期和时间$_SESSION['steam_uptodate']
- 个人资料信息上次更新时间,以Unix时间表示
请注意,由于隐私设置,一些变量可能对某些用户不可用。
更新用户信息
要刷新用户的Steam个人资料数据,请使用以下方法:html: <a href="?update">update</a>
- 推荐 - OR - php: $_GET['update']=true;
- 这必须在 require 'steamauth/steamauth.php';
之前设置
如果用户下次访问您的网站时个人资料数据已超过指定时间,则自动刷新Steam个人资料数据
将 steamauth.php
中的第67行从
if (isset($_GET['update'])){
改为
if (isset($_GET['update']) || !empty($_SESSION['steam_uptodate']) && $_SESSION['steam_uptodate']+(24*60*60) < time()){
-
示例将更新为超过24小时的情况。
-
括号中的数字
$_SESSION['steam_uptodate']+(24*60*60)
应该是刷新用户Steam个人资料数据前的最大秒数。
有关文档布局或使用$steamprofile变量的更多帮助,请参阅example.php或demo.php文件!