Pou*_*yan 12 forms login http basic-authentication
我正在运行名为bitlfu 的Perl应用程序.对于登录,它使用类似Apache HTTP Basic Auth但不是表单.我想使用用户名和密码字段为登录创建表单.我已经尝试过JavaScript和PHP,直到现在还没有结果.
所以我需要帮助!
PS:这种网址有效
http://user:password@host.com
Run Code Online (Sandbox Code Playgroud)
我认为一个简单的JavaScript就像:
document.location='http://' + user + ':' + pass + '@mydomain.tld';
Run Code Online (Sandbox Code Playgroud)
应该做的工作.
所以基本上,你必须创建一个表单,用户和pass字段,然后onsubmit,使用这里给出的JavaScript部分:
<form method="post" onsubmit="javascript:document.location='http://' + $('login') + ':' + $('pass') + '@mydomain.tld';">
<input type="text" name="login" id="login" />
<input type="password" name="pass" id="pass" />
<input type="submit" value="ok"/>
</form>
Run Code Online (Sandbox Code Playgroud)
其中$()是document.getElementById或jquery左右.我使用$()函数来缩短代码.这是一个实现,它不适用于每个浏览器.再次,看看为跨浏览器解决方案抛出jQuery.
function $(_id) { return document.getElementById(_id); }
Run Code Online (Sandbox Code Playgroud)
否则,您可以使用php并使用标头位置重定向用户.
php方式:
<?php
if (isset($_POST['login']) && isset($_POST['password'])) { header('Location: ' . urlencode($_POST['login']) . ':' . urlencode($_POST['password']) . '@domain.tld'); }
else
{
?>
<form method="post" onsubmit="javascript:document.location='http://' + $('login') + ':' + $('pass') + '@mydomain.tld';">
<input type="text" name="login" id="login" />
<input type="password" name="pass" id="pass" />
<input type="submit" value="ok"/>
</form>
<?php
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23947 次 |
| 最近记录: |