我正在尝试为网页的joomla Web登录表单创建HTTP POST。 我以前用过这个,我不是新手,但我很难过,除了'无效令牌'之外,我无法得到任何回应 这样做的目的是让一个POST,我可以用它来移动应用程序“记住”密码作为临时解决方案。
我已经使用Charles来检查HTTP请求之间的区别,如果我手动使用登录表单并且在URL中使用POST,我认为没有区别
我的要求是
HTML代码
<form action="/member-login?task=user.login" method="post" class="form-horizontal" name="login_form">
<div class="joomla_login">
<fieldset class="input">
<h2>Login</h2>
<p>Login using the email address and the password that you used when you registered.</p>
<p>
<span class="add-on">
<label id="username-lbl" for="username" class=" required">User Name<span class="star"> *</span></label> </span>
</p>
<div class="controls">
<input type="text" name="username" id="username" value="" class="validate-username required" size="25"/> </div>
<p>
<span class="add-on">
<label id="password-lbl" for="password" class=" required">Password<span class="star"> *</span></label> </span>
</p>
<div class="controls">
<input type="password" name="password" id="password" value="" class="validate-password required" size="25"/> </div>
<div style="text-align: center; padding-top: 20px; padding-bottom: 20px;">
<button type="submit" class="btn btn-primary dummy-button" >Log in</button>
</div>
<input type="hidden" name="return" value="aW5kZXgucGhwP29wdGlvbj1jb21fdXNlcnMmdmlldz1wcm9maWxl" />
<input type="hidden" name="1132a16eb61f5659e8ff62fb935f6037" value="1" /> </fieldset>
</div>
</form>
提前致谢
答案 0 :(得分:0)
试试这个,
在Joomla安装站点中,您必须创建外部脚本(文件)。使用以下代码访问Framework。
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );//this is when we are in the root
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe = JFactory::getApplication('site');
$mainframe->initialise();
现在,您将能够使用页面上的所有Joomla库和函数。
使用以下代码简单检查您的登录详细信息。
$credentials['username'] = $data['username']; //user entered name
$credentials['password'] = $data['password']; //users entered password
$app = JFactory::getApplication();
$error = $app->login($credentials, $options);
if (!JError::isError($error)) {
// login success
}
else{
//Failed attempt
}
确保此脚本在公共访问中可用,因此请传递任何密钥以仅使用其他加密参数进行访问。
希望有所帮助......