HTTP POST到Web登录表单。 Joomla,无效的TOKEN

时间:2014-07-15 10:29:56

标签: html http post curl joomla

我正在尝试为网页的joomla Web登录表单创建HTTP POST。 我以前用过这个,我不是新手,但我很难过,除了'无效令牌'之外,我无法得到任何回应 这样做的目的是让一个POST,我可以用它来移动应用程序“记住”密码作为临时解决方案。

我已经使用Charles来检查HTTP请求之间的区别,如果我手动使用登录表单并且在URL中使用POST,我认为没有区别

我的要求是

http://www.example.com/member-login?task=user.login&username=SECRET&password=SECRET&return=aW5kZXgucGhwP29wdGlvbj1jb21fdXNlcnMmdmlldz1wcm9maWxl&1132a16eb61f5659e8ff62fb935f6037=1

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">&#160;*</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">&#160;*</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>

提前致谢

1 个答案:

答案 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
   }

确保此脚本在公共访问中可用,因此请传递任何密钥以仅使用其他加密参数进行访问。

希望有所帮助......