簡體   English   中英

登錄表單到tomcat中受保護的應用程序

[英]Login form to an a secured app in tomcat

我在普通的Apache http服務器( http://yyy.yyy.yyy.yyy/index.html )中具有普通的HTML頁面,帶有身份驗證表單,該表單需要使用憑據訪問位於其他具有不同IP的服務器,該服務器具有受保護的具有tomcat的應用程序:這是apache http服務器中的登錄表單:

<form method="POST" id="theForm" 
      action="http://xxx.xxx.xxx.xxx:8080/securedapp/j_security_check">
  <input name="j_username" type="text" class="tx_form" id="j_username" size="20" />
  <input name="j_password" type="password" class="tx_form" id="textfield2" size="20" />
  <input name="btn" type="submit" value="login" />
</form>

提交僅適用於chrome瀏覽器,不適用於IE和FF。 我做錯了什么?

您缺少提交按鈕。 當您按Enter鍵時,即使沒有提交按鈕,Chrome也會發送這些值。 Firefox和IE不會。

如果您不希望使用sumbit按鈕(不推薦),則可以嘗試類似

<input type='text' name='bla' onKeyDown="if (window.event.keyCode==13) this.form.submit();">

我建議在firefox中安裝篡改數據 ,然后在篡改數據窗口中單擊“啟動篡改”按鈕。 單擊論壇上的提交,然后“篡改”請求。 這將允許您查看和修改http請求中的所有數據。

從遠程服務器與本地發送請求時,可能會有一些差異。 對於一個“引薦”而言,它會有所不同,某些應用程序將此作為CSRF保護的一種形式進行檢查。 需要注意的另一件事是缺少get / post變量,您可能已經忘記了某些內容,或者可能使用javascript對其進行了修改。 Finley確保請求的content-type相同。

這是您更改發布請求的內容類型的方式:

<form action="http://xxx.xxx.xxx.xxx:8080/securedapp/j_security_check"
    enctype="multipart/form-data"
    method="post">

另一種選擇是使用Wireshark捕獲由chrome / ie / firefox生成的http請求。 您可以使用像Meld這樣的差異工具來比較數據包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM