我有一些php代码,像下面的代码,当点击图像时,它会转到不同的部门。
Departments.php?DepartmentsID=6?&CampusID=1
当点击它时显示在url中。
我如何可以轻松地封装它,使它不显示在url同样的情况下,下载一些文件。
download.php?filename=abc.pdf?
如何禁用或封装代码,这样我就不会出现在url中。
谢谢
要隐藏通过html链接时的变量。
发布于 2017-08-21 09:39:06
据我所知,您希望将某种令牌作为链接传递,而不是像文件名或id这样可读的东西传递给您的站点来处理请求。(用户只看到令牌而没有其他)
所以点击一个链接就可以得到类似于Departments.php?action=907fgash6f8906a6asf6g...
的东西
如果您想要这样的东西,您将需要某种数据库来存储您的令牌,以便您的代码知道如何处理给定的令牌。
或者您可以使用实际的加密,您将不得不解密,当然,保持您的密钥隐藏和安全。
我不明白你为什么要这么做。如果你能更深入地了解你为什么要这么做,也许会有一个更好的解决方案。
发布于 2017-08-21 09:39:24
在PHP中,更改或将方法设置为method = "POST"
。
发布于 2017-08-21 09:50:04
您正在使用URI作为GET参数,这是您接收此类复杂信息的地方。您可以选择一种与MVC相关的方法来处理这个问题:
www.example.com/6/1
上面的示例使用路由器将部门ID表示为6,校园ID表示为1。我建议使用AltoRouter。
$router = new AltoRouter();
$router->map('GET|POST', '/[i:d]/[i:c]', function($department, $campus) {
echo "Department $department on Campus $campus.";
// Add your code logic
}, 'Name of route');
$router_match = $router->match();
if($router_match && is_callable($router_match['target'])) {
call_user_func_array($router_match['target'], $router_match['params']);
exit();
}
// Some 404 stuff.
这可以用于mutli映射,这意味着您可以更改下载链接到任何您喜欢的,例如,只有唯一的文件ID,最终用户必须知道才能访问它,而且最重要的是,它可以是一个RBAC文件在下载之前,以便只有X用户可以下载/查看某些主题。
https://stackoverflow.com/questions/45802713
复制相似问题