加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – 生成专用,唯一,安全的URL

发布时间:2020-05-31 16:03:45 所属栏目:PHP 来源:互联网
导读:我想生成一个安全的一键访问类型的url类似于下面的例子.我会使用 PHP,但这是无关紧要的,因为我只是想了解基本的概念.一些答案建议使用GUID,但我不认为这会给我一个绝对唯一的,安全的URL,如下所示. # Google Calendar3qq6jlu04ptlhmb9fencsu5t2k# Private3qq6j

我想生成一个安全的一键访问类型的url类似于下面的例子.我会使用 PHP,但这是无关紧要的,因为我只是想了解基本的概念.一些答案建议使用GUID,但我不认为这会给我一个绝对唯一的,安全的URL,如下所示.

#    Google Calendar
3qq6jlu04ptlhmb9fencsu5t2k
#    Private
3qq6jlu04ptlhmb9fencsu5t2k
#    Private 'token'
163a0afe7fkb1ba2acd04c11ef0eefe8
#    LogMeIn
#    1024 bit - 128 Character URL
72oxuj0fzefqo3fu04xjtvmd0adj2948rfh7g5by4forkwcy7t651z7hcb6kjjgqkxmvmfqpyrcfy15z1fto8ewcxstjc6avicag7d5qnoimsm19kb9kgi9i7v6z01d5

我倾向于这个128个字符,1024位风格,因为它似乎非常安全.我想我可以做四个MD5哈希并合并,但是真的有效吗?

我有两个这样的URL的具体意图,但我确定有其他人可能会发现这有用.

1)即时登录用户的快捷方式/图标

2)一次性使用的URL(密码恢复链接)

更新:

对于类似于单一使用网址的内容,我可以使用已建议的GUID-esque appoach.请确保链接的寿命短.

为了即时登录,没有一个真正安全的方式来拥有一个URL.

是的,你可以生成一个几乎不可能猜到的URL,但这不会给你超级安全.如果你想记住用户,为什么不使用加密的认证cookie?

您提供的示例,Google日历不会通过URL单独登录,您必须在URL意味着任何事情之前首先进行身份验证.

例如.点击谷歌日历从我的Gmail给我:

https://www.google.com/calendar/render?tab=mc&gsessionid=-LTeHrnKoeAbDcVaN68NHA

这不能帮助您访问我的帐户,除非您首先认证为我.

老帖子

您可以使用com_create _guid在PHP中生成GUID,并使用它.

在linux上我觉得可以使用uuid_create,或者这个代码从here:

<?php
 function guid(){
 if (function_exists('com_create_guid')){
       return com_create_guid();
   }else{
       mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
       $charid = strtoupper(md5(uniqid(rand(),true)));
       $hyphen = chr(45);// "-"
       $uuid = chr(123)// "{"
               .substr($charid,8).$hyphen
               .substr($charid,8,4).$hyphen
               .substr($charid,12,16,20,12)
               .chr(125);// "}"
       return $uuid;
   }
}
echo guid();
?>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读