我的PHP技能有限,需要完成通过URL传递凭据的气馁/低安全性做法 - 这对我来说是一个非常好的相关解决方案。
我的网站区域中包含琐碎/非敏感的内容,但是,我希望隐藏和控制访问权限。但是,我希望他们不需要登录也不需要处理凭据。所以我认为该组的凭据通过URL传递给自动登录任何用户,允许他们浏览该站点的该区域。此内容不敏感,这些不是用户帐户/ pws /数据,而是我设置的组。
我应该能够分发链接到任何页面 http://example.com/home.php?&username=GROUPNAME&password=PW123 并允许他们导航所有受保护的页面而不会被注销。
更多上下文:离线组将请求该区域/那些页面的帐户(我自己创建的组帐户,以后可以删除/修改阻止访问)。我不希望没有会员资格的人能够访问这些内容,而且我并不担心人们在他们的小组之外分享链接。
我应该使用像用户结霜/用户蛋糕这样的东西吗?或者通过GET / POST传递凭据会是否过度并产生挑战?如果密码被加密,不确定此方法是否不起作用。
或者应该遵循一些低安全性教程来设置登录系统,另一个使用GET / POST来传递凭据吗?
答案 0 :(得分:1)
如果您真的只是想隐藏数据并且考虑到非常低的安全性,那么您可以使用$ _COOKIE以及在每个页面上验证的哈希值。就像那样,您的凭证将无法轻松访问,并且您有一些"一些"安全
供参考:https://www.sitepoint.com/baking-cookies-in-php/
但老实说,最好的方法是使用$ _SESSION。
供参考:https://www.sitepoint.com/php-sessions/
$ _ SESSION是我们用于正常登录的东西,而且相对容易实现。
请参阅此tuto例如:http://code.tutsplus.com/tutorials/user-membership-with-php--net-1523
答案 1 :(得分:0)
根据不同群体需要不同的代码进行更新。这是一个纯PHP解决方案,但数据库解决方案可能更具说服力,具体取决于组的数量。
以下是通过get请求使用共享令牌的基本想法。如果您将某人发送到http://www.yoursite.com/example.php?code=123qweasd
然后你的php for example.php将是
<?php
// First make sure there is a code passed through the url
if(!isset($_GET['code'])) die;
// Set up your groups
$groups = array(
'123qweasd' => 'Group 1',
'dsf355fdf' => 'Group 2',
'43256vcgd'=> 'Group 3'
);
// Make sure the code is correct
if(!isset($groups[$_GET['code']])) die;
// Any content below here will only be shown to if an index of the above array was passed through the url.
// Output the group name if you want (in this case, the output would be 'Group 1')
echo $groups[$_GET['code']];