2013-08-03 112 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

好的。我不知道你有權訪問外部系統中的代碼庫或數據庫。 –