我正在使用PHP和HTML项目,有两种情况。
场景 1
用户生成一个 URL,其中包含标识用户的 GUID。GUID 存储在数据库中。
场景 2
如果用户访问具有已生成 GUID 的页面,我希望能够从 URL 获取 GUID 并在整个项目中使用它。
用户的网址将如下所示
http://localhost/mini/album/index/GUID eg http://localhost/mini/album/index/6957da07-7cd0-4f0e-a300-fa9ecdf79d0a
我知道我将如何从 url 获取 guid 以及用户何时生成新的 guid,但只要用户访问页面,我就将其临时存储在哪里?我正在考虑使用全局变量、HTML5 本地存储,或者是否可以为此使用会话。您认为什么是最佳解决方案,您还有其他建议吗?
查看 PHP 会话以及一些可能的安全问题,尤其是将 GUID 添加到 URL 时。
<?php
session_start()
$_SESSION['GUID'] = get_guid();
....
echo "GUID is {$_SESSION['GUID']}";
如果它用于标识用户,则客户端通常不应看到/无法对其进行修改。保存HTML5 LocalStorage和Cookie,用于更琐碎的事情,如首选项或缓存数据。
使用 apache 重写。 在您的 .htaccess 文件中,执行以下操作:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^mini/album/index/([A-Za-z0-9-]+)$ /php_script_that_you_use_for_saving_a_guid.php?GUID=$1 [QSA,L]
其中 GUID 是 $_GET 变量。 获取并存储
将"php_script_that_you_use_for_saving_a_guid.php"重命名为将用于保存 GUID 的实际文件和路径等。