如何从URL隐藏用户id和密码?


How can I hide user's id and password from URL?

你好,我有一个网页,用户可以查看和编辑他们的应用程序信息。我有一个编辑按钮。当用户单击此按钮时,它将把他带到编辑页面。下面是我的代码:

<form name="form3" method="post" action="pages/application_edit.php?id=<?php echo "$id[0]";?>&pwd=<?php echo "$pwd";?>">  
<input type="submit" name="Submit" value="Edit Application" class="button"> 
</form>`
After a click the user sees this URL:`http://website.com/pages/application_edit.php?id=1&password=Flower1

如何从URL隐藏密码?

将值作为$_GET值发送到PHP页面,而不是作为$_POST值发送。

<form method="POST" action="pages/application_edit.php"> // no need for the URL query string

在PHP文件

<?php 
    $user_id = $_POST['id']; // similar to how you'd use $_GET
....

虽然你处理这个的方式是错误的,但你不应该在页面之间传递这些值。至少您的用户名/id应该存储为会话变量,并且应该在需要时从数据库访问信息。

无论哪种方式,都可以在不让它们"可见"的情况下发送它们。

看来你缺少会话控制例程。

你应该在会话中管理应用程序的所有私有选项(那些你只能在登录时才能执行的选项),以避免暴露用户凭证。

你可以从这里开始学习。

同时,考虑使用SSL证书加密HTTP请求。