2013-08-03 69 views
0

不工作我用我的网站的索引页以下表单,尝试在论坛登录:外部登录在PHPBB

<form method = "post" action = "/forum/ucp.php?mode=login"> 
    <div id = "field_container"> 
     <div class = "field"><input name = "username" type = "text" placeholder = "Username" /></div> 
     <div class = "field"><input name = "password" type = "password" placeholder = "Password" /></div> 
    </div> 
    <div class = "submit"><input type = "submit" value = "Login" /></div> 
</form> 

但是,提交此表只是将用户带到论坛的登录页面。它没有提供任何错误,也没有将用户登录。缺失的链接使这项工作成为可能?

编辑:这里是论坛本身的形式:

<form action="./ucp.php?mode=login" method="post" id="login"> 
<div class="panel"> 
    <div class="inner"><span class="corners-top"><span></span></span> 

    <div class="content"> 
     <h2>Login</h2> 

     <fieldset class="fields1"> 

     <dl> 
      <dt><label for="username">Username:</label></dt> 
      <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="" class="inputbox autowidth"></dd> 
     </dl> 
     <dl> 
      <dt><label for="password">Password:</label></dt> 
      <dd><input type="password" tabindex="2" id="password" name="password" size="25" class="inputbox autowidth"></dd> 
      <dd><a href="./ucp.php?mode=sendpassword">I forgot my password</a></dd> 
     </dl> 

     <dl> 
      <dd><label for="autologin"><input type="checkbox" name="autologin" id="autologin" tabindex="4"> Log me on automatically each visit</label></dd> 
      <dd><label for="viewonline"><input type="checkbox" name="viewonline" id="viewonline" tabindex="5"> Hide my online status this session</label></dd> 
     </dl> 


     <input type="hidden" name="redirect" value="./ucp.php?mode=login"> 

     <dl> 
      <dt>&nbsp;</dt> 
      <dd><input type="hidden" name="sid" value="7703a705e2d9971b1eae77b1f3ff61d6"> 
<input type="hidden" name="redirect" value="index.php"> 
<input type="submit" name="login" tabindex="6" value="Login" class="button1"></dd> 
     </dl> 
     </fieldset> 
    </div> 
    <span class="corners-bottom"><span></span></span></div> 
</div> 



    <div class="panel"> 
     <div class="inner"><span class="corners-top"><span></span></span> 

     <div class="content"> 
      <h3>Register</h3> 
      <p>In order to login you must be registered. Registering takes only a few moments but gives you increased capabilities. The board administrator may also grant additional permissions to registered users. Before you register please ensure you are familiar with our terms of use and related policies. Please ensure you read any forum rules as you navigate around the board.</p> 
      <p><strong><a href="./ucp.php?mode=terms">Terms of use</a> | <a href="./ucp.php?mode=privacy">Privacy policy</a></strong></p> 
      <hr class="dashed"> 
      <p><a href="./ucp.php?mode=register" class="button2">Register</a></p> 
     </div> 

     <span class="corners-bottom"><span></span></span></div> 
    </div> 


</form> 

编辑:除了SID,你还必须确保你的提交按钮“登录”的名称。

+0

你能告诉我们来自PHPBB论坛的原始'form'吗?也许还有一些你错过了。 –

+0

添加论坛代码 – Fibericon

回答

0

我认为你所面对的问题是,原来的形式包含两个额外的隐藏字段:

<input type="hidden" name="sid" value="7703a705e2d9971b1eae77b1f3ff61d6"> 
<input type="hidden" name="redirect" value="index.php"> 

重定向场不应该成为问题。

对于sid字段,我自己承担了两个功能。这可能是一个哈希,以防止XSS或它只是登录将分配给sid。但我认为第二个将更合理,因为选择的名称:)

因此,在您获得表单工作之前您必须做的事情是获取登录公式curl,提取sid并将其添加到您的自己的形式作为隐藏的领域。

让我知道,如果这可以帮助你。

+0

你不必卷曲,但你显然需要sid。你可以用$ user-> session_id获得它。 – Fibericon

+0

好的。我不知道你有权访问外部系统中的代码库或数据库。 –