【问题标题】:How can I provide temporary links to web pages?如何提供网页的临时链接?
【发布时间】:2011-03-19 22:55:30
【问题描述】:

我打算让我的用户能够与其他人分享指向其个人资料的链接,但此链接不应是常用链接。而是:

  • 它不应该给出真实的 登陆页面
  • 用户应该可以根据需要停用它

这可能吗?

【问题讨论】:

    标签: php mysql hyperlink


    【解决方案1】:

    页面可能是

    PublicUserProfile.php?UserViewId=12345

    在幕后(在数据库或其他东西中),12345 被映射到用户 SantaClaus。

    如果 SantaClaus 决定不再公开他的个人资料,则删除 12345=SantaClaus 的映射。

    【讨论】:

      【解决方案2】:

      取决于它是否重定向到实际资源。

      绝不应允许他们提供“实际资源”,只能提供指向该资源的别名。

      然后你可以打开或关闭别名。

      但如果你给出实际资源或将浏览器重定向到唯一资源,你就做不到。

      答案:只发出别名

      【讨论】:

        【解决方案3】:

        您可能希望拥有一个包含“ID”和“URL”字段的数据库,其中 ID 是一些自动增量值,而 URL 是您要重定向到的 URL。

        您自己构建一个重定向脚本(例如称为redirect.php):

        <?php
          // some configuration
          if (!empty($_SERVER['PATH_INFO'])) {
            $_GET['id'] = substr($_SERVER['PATH_INFO'],1);
          }
          if(!empty($_GET['id'])) {
            // You have to build a function which returns the URL from DB for this ID
            // Remember: You new complete URLs for redirects
            $url = get_url_for_this_id($_GET['id']); 
            if (!empty($url)) {
              header('Location: '.$url);
              exit;
            }
          }
          echo('No URL found');
        ?>
        

        用户调用你的脚本如下:

        redirect.php/1234redirect.php?id=1234

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-08-29
          • 1970-01-01
          • 2020-03-27
          • 1970-01-01
          • 2012-09-10
          • 2015-10-30
          • 1970-01-01
          • 2011-07-04
          相关资源
          最近更新 更多