我有一些PHP代码,比如下面的代码行,点击它去不同部门的图像。
Departments.php?DepartmentsID=6?&CampusID=1
在点击时显示在网址中。
如何轻松地将其包含在内以便在下载某些文件的情况下不会在url中显示。
download.php?filename=abc.pdf?
我如何禁用或包含代码,以便我不会显示在网址中。
感谢
希望隐藏通过html链接
的变量答案 0 :(得分:1)
据我所知,您希望将某种令牌作为链接传递,而不是像文件名或您网站的ID那样可读的东西来处理请求。 (用户只看到令牌而没有其他内容)
所以点击链接可以得到类似timeout
如果您想要这样的东西,您需要某种数据库来存储您的令牌,以便您的代码知道如何处理给定的令牌。
或者您可以使用您必须解密的实际encryption,当然也可以隐藏您的密钥并保护其安全。
我不明白为什么你需要做这一切。如果您能够更好地了解为什么要这样做,那么可能会有更好的解决方案
答案 1 :(得分:0)
在PHP表单中更改或将方法设置为method = "POST"
。
答案 2 :(得分:0)
您正在使用URI作为GET参数,这是您收到此类并发症的地方。您可以选择更多与MVC相关的方法来解决这个问题:
www.example.com/6/1
以上示例使用路由器将Department ID表示为6,将Campus 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.
这可用于多重映射,这意味着您可以将下载链接更改为您喜欢的任何内容,例如,最终用户必须知道访问它的唯一文件ID,最重要的是,它可以在下载之前是一个RBAC文件,因此只有X用户可以下载/查看某些主题。
答案 3 :(得分:0)
这重复了其他人回答的一些信息:
使用POST,这只会删除在查询网址中读取数据的功能,但仍然是明文。
确保为传输加密启用了SSL
在消息层使用加密,如果您愿意,可以加密实际文本本身
额外注意,如果数据是敏感的并且存储在REST中,比如说存储在数据库中,您可能也想在那里对其进行加密。
基本上"深度防守"是方法,从来没有银弹