0
我想實現下面的代碼:Xcode的登錄安全問題
NSURL *url = [NSURL URLWithString:@"https://login.XXX.com/security/xxxforms//
logonchalnp.fcc?TYPE=33554433&REALMOID=06-95b0f0c8-198a-1039-b583
83b02659fd47&GUID=&SMAUTHREASON=0&METHOD=GET&SMAGENTNAME=owa5&TARGET=-SM-
HTTPS%3a%2f%2fowa%2exxx%2ecom%2f"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request setPostValue:@"XXX" forKey:@"USER"];
[request setPostValue:@"XXX" forKey:@"PASSWORD"];
[request startSynchronous];
NSURLResponse *response;
NSError *error;
NSData *urlData = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
NSString *str=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Login response: is %@", str);
該網站的相關內容有:
<form NAME="Login" METHOD="POST" action="/forms/logonchal_l10question.jsp">
<INPUT TYPE=HIDDEN NAME="SMENC" VALUE="ISO-8859-1">
<INPUT type=HIDDEN name="SMLOCALE" value="US-EN">
<center>
<!-- outer table with border -->
<table width="50%" border="1" cellpadding="0" cellspacing="0" align=center>
<tr>
<td>
<!-- Login table -->
<table WIDTH="100%" HEIGHT=200 class="platportletLightBg" border=0 cellpadding=0
cellspacing=0 >
<tr HEIGHT="30" class="platportletHeaderBg">
<td valign=center height=40 align=center colspan=4 >
<b class="d_banHeader">Please Login</b>
</td>
</tr>
<tr> <td colspan=4 height=20> <font size=1> </font> </td> </tr>
<tr align="center">
<td WIDTH=20 > </td>
<td ALIGN="LEFT" >
<b class="customappSubhead"> Username: </b>
</td>
<td align=center >
<input type="text" name="USER" size="30" AUTOCOMPLETE=OFF>
</td>
<td WIDTH=20 > </td>
</tr>
<tr> <td colspan=4 height=5> <font size=1> </font> </td> </tr>
<tr align="center" >
<td WIDTH=20 > </td>
<td align=left>
<b class="customappSubhead"> Password: </b>
</td>
<td>
<input type="password" name="PASSWORD" size="30">
</td>
<td WIDTH=20 > </td>
</tr>
<tr> <td colspan=4 height=20> <font size=1> </font> </td> </tr>
<tr>
<td colspan=4 NOWRAP WIDTH="50%" HEIGHT="25" align="CENTER">
<input type=hidden name=target value="HTTPS://owa.xxx.com/">
<input type=hidden name=smquerydata value="">
<input type=hidden name=smauthreason value="0">
<input type=hidden name=smagentname value="owa5">
<input type=hidden name=postpreservationdata value="">
<input type="button" value="Login" onClick="submitForm();">
</td>
</tr>
預期的響應:當從手動和直接登錄瀏覽器使用適當的用戶名/密碼,網頁將重定向到安全問題頁面。如果問題被成功解答,它將進入基於網絡的應用程序的另一個登錄頁面。
如代碼所示,它成功登錄到初始頁面,但繞過安全問題頁面並直接進入輔助登錄頁面。從那裏,基於Web的應用程序登錄將會(顯然)失敗。我知道它至少取得了初始的USER和PASSWORD,因爲如果輸入了錯誤的值,它會失敗(錯誤的憑證通知)。如果輸入了正確的值,UIWebView還將準確顯示輔助登錄頁面。備註:當URL直接輸入瀏覽器時,此輔助登錄頁面不可訪問。
問題:請求知道是否有我在這裏失蹤的任何重定向?我如何觸發action =「/ forms/logonchal_l10question.jsp」,這是我相信登錄問題被生成和呈現的地方?
任何幫助,非常感謝。