PHP - 隐藏url(GET)参数

Emi*_*mic 2 php parameters post get

我的PHP/HTML链接如下:

<a href="http://search.mywebsite.com/login.aspx?checktype=uid&user=adam&password=pass1234&profile=dart&defaultdb=kts"> Log me into this website </a>
Run Code Online (Sandbox Code Playgroud)

当用户点击链接时,参数由第三方网站处理,该网站无缝地记录用户.

是否可以隐藏/屏蔽/伪装网址,以便用户在将参数传递到指定网站时看不到参数?

如果不是,你们会怎么做呢?我主要担心用户和密码params并需要隐藏它们.(用户=亚当&密码= pass1234)

我知道如何隐藏params的唯一方法是使用表单发布方法,但在这种情况下,它不是一个选项,因为我使用直接链接.

编辑: 对于那些一直建议使用POST方法的人,这不是一个选项,因为我没有使用表格,接收网站不受我的控制.我正在从一个站点登录到另一个站点(第三方)

cOl*_*le2 6

如果您登录的页面由第三方控制,您唯一的选择是使用表单和POST:

<form action="http://search.mywebsite.com/login.aspx" method="post">
   <input type="hidden" name="checktype" value="uid" />
   <input type="hidden" name="user" value="adam" />
   <input type="hidden" name="password" value="pass1234" />
   <input type="hidden" name="profile" value="dart" />
   <input type="hidden" name="defaultdb" value="kts" />
   <input type="submit" value="Log me into this website" />
</form>
Run Code Online (Sandbox Code Playgroud)

编辑:如果它必须是一个链接,可以要求javascript,那么你可以使用JavaScript来动态创建和提交表单:

<a href="#" onclick="postLogin()">Log me into this website</a>

<script type="text/javascript">
function postLogin() {
    var form = document.createElement("form");
    form.setAttribute("method", "post");
    form.setAttribute("action", "http://search.mywebsite.com/login.aspx");

    var params = {checktype: 'uid', user: 'adam', password: 'pass1234', profile: 'dart', defaultdb: 'kts'};
    for(var key in params) {
        if(params.hasOwnProperty(key)) {
            var hiddenField = document.createElement("input");
            hiddenField.setAttribute("type", "hidden");
            hiddenField.setAttribute("name", key);
            hiddenField.setAttribute("value", params[key]);

            form.appendChild(hiddenField);
         }
    }

    document.body.appendChild(form);
    form.submit();
}
</script>
Run Code Online (Sandbox Code Playgroud)