MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-10-15, 01:03

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 9 篇文章 ] 
發表人 內容
文章發表於 : 2004-06-12, 19:56 
為何無法Login某些網路下單須要鍵入password的網站?


回頂端
  
引用回覆  
 文章主題 : 求助
文章發表於 : 2004-06-12, 20:51 
也就是在ie可以正常進入的網頁,轉到Firefox 0.8在輸入完password後,好像是在check CA後陷住,不知要如何解決???


回頂端
  
引用回覆  
文章發表於 : 2004-06-13, 19:23 
Error source code 如下:newwin=window.showModalDialog(sStr,"remote","dialogheight:11;dialogwidth:26;maximize:0;minimize:0;center:1;help:0;");


回頂端
  
引用回覆  
 文章主題 : 奇怪!!!
文章發表於 : 2004-06-13, 20:43 
好像沒人碰過這個問題??????


回頂端
  
引用回覆  
 文章主題 :
文章發表於 : 2004-06-13, 20:55 
承主題
哪位高手能幫幫我?
謝謝


回頂端
  
引用回覆  
 文章主題 :
文章發表於 : 2004-06-13, 23:06 
離線

註冊時間: 2002-11-14, 10:09
文章: 735
來自: 昨日東風
你給的資訊太少了,直接把網址貼出來比較快。

不過看這情況,八九不離十是Javascript有問題。

_________________
I use 圖檔.


回頂端
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2004-06-13, 23:43 
離線
[網站管理員]
頭像

註冊時間: 2002-12-03, 15:00
文章: 1109
來自: CSIE.ORG
90% 都是它在 submit 前用某些 javascript 做檢查
然後這些 javascript 是 IE only
解決方法: (1) 向作者提出,請他修改
(2) 自己看懂 source 修改,並回報給作者


回頂端
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2004-06-14, 20:57 
謝謝各位前輩,我用javascript除錯器將程式列出如下,程式應該是陷在214行的,不知該如何處理。

function readCookie(name)
2 {
- 3 var namex = name+"=";
- 4 if(document.cookie.length == 0)
- 5 return null;
- 6 var nameat = document.cookie.indexOf(namex);
- 7 if( nameat == -1)
- 8 return null;
- 9 var ValueAt = nameat+namex.length;
- 10 var endPos = document.cookie.indexOf( ';', ValueAt);
- 11 if( endPos == -1)
- 12 return document.cookie.substring(ValueAt);
13 else
- 14 return document.cookie.substring(ValueAt,endPos);
15 }
16
17 function deleteCookie(theName)
18 {
- 19 document.cookie = theName + "=";
20 }
21
22 function checkCA(Raw)
23 {
- 24 var CAType=readCookie("CAType");
- 25 var CAPath=readCookie("CAPath");
- 26 if((CAType=="C" || CAType=="E") && CAPath.length>=5)
27 {
- 28 var Count,KeySpec,criterion,b64Cert,buffer,spStr;
- 29 spStr = CAPath.split(",");
- 30 Count = spStr[0];
- 31 KeySpec = spStr[1];
- 32 criterion = spStr[2];
- 33 b64Cert = FCliPKICOM.FGetCertFromCAPI(Count,KeySpec,criterion);
- 34 if(FCliPKICOM.LastErrorCode != 0 )
35 {
- 36 alert("Get Certificate Failed! Error code: " + FCliPKICOM.LastErrorCode + "," + FCliPKICOM.LastErrorMessage);
- 37 return false;
38 }
39 else
40 {
- 41 FCliPKICOM.FGetCertAttribute(b64Cert);
- 42 if(FCliPKICOM.LastErrorCode != 0 )
43 {
- 44 alert("Get Certificate Attribute Failed! Error code: " + FCliPKICOM.LastErrorCode + "," + FCliPKICOM.LastErrorMessage);
- 45 return false;
46 }
47 else
48 {
- 49 var ExpDate = FCliPKICOM.ExpiredDate;
- 50 var SDN = FCliPKICOM.SubjectDN;
- 51 if(ExpDate.length>=10 && SDN.length>=8)
52 {
- 53 var TodayIdx=readCookie("USER").indexOf("SYS%5FTODAY=");
- 54 var IDNOIdx=readCookie("USER").indexOf("IDNO=");
- 55 if(TodayIdx>=0 && IDNOIdx>=0 && readCookie("USER").length>=TodayIdx+20)
56 {
- 57 var SysDate=readCookie("USER").substring(TodayIdx+12,TodayIdx+20);
- 58 var SysIDNO=readCookie("USER").substring(IDNOIdx+5);
- 59 if(SysIDNO.indexOf("&")>=0)
- 60 SysIDNO=SysIDNO.substring(0,SysIDNO.indexOf("&"));
- 61 ExpDate=ExpDate.substring(0,4)+ExpDate.substring(5,7)+ExpDate.substring(8,10);
- 62 var OUidx=SDN.lastIndexOf("OU=");
- 63 if(OUidx>=0)
64 {
- 65 OUidx=SDN.substring(OUidx+3);
- 66 OUidx=OUidx.search(/capital/i);
67 }
- 68 var CAIDNO=SDN.substring(SDN.indexOf("CN=")+3);
- 69 if(CAIDNO.indexOf(",") >= 0)
- 70 CAIDNO=CAIDNO.substring(0,CAIDNO.indexOf(","));
71
- 72 if(OUidx<0)
73 {
- 74 alert("�D�����q�ֵo������!");
- 75 return false;
76 }
- 77 else if(SysDate>ExpDate)
78 {
- 79 alert("���Ҥw�L��!");
- 80 return false;
81 }
- 82 else if(SysIDNO!=CAIDNO)
83 {
- 84 alert("���Ҩ����!");
- 85 return false;
86 }
87 else
88 {
- 89 var B64P7Sig = FCliPKICOM.FSignP7ByCAPI(b64Cert,Raw);
- 90 if(FCliPKICOM.LastErrorCode != 0 )
91 {
- 92 alert("Signature Failed! Error code: " + FCliPKICOM.LastErrorCode + "," + FCliPKICOM.LastErrorMessage);
- 93 return false;
94 }
95 else
96 {
- 97 return B64P7Sig;
98 }
99 }
100 }
101 else
102 {
- 103 alert("�Ѽ�Ū���~�A�Э��s�n�J!");
- 104 return false;
105 }
106 }
107 else
108 {
- 109 alert("���Ҥ��e����!");
- 110 return false;
111 }
112 }
113 }
114 }
- 115 else if((CAType=="T" || CAType=="M") && CAPath.length>3)
116 {
- 117 var idx,path,Pin,b64Cert,endata;
- 118 idx = readCookie("CAPath").indexOf(",");
- 119 path = readCookie("CAPath").substring(0,idx);
- 120 endata = readCookie("CAPath").substring(idx+1);
- 121 Pin = FCliPKICOM.FDecryptBlock(endata,"capital");
- 122 b64Cert = FCliPKICOM.FGetCertFromP12(path,Pin);
- 123 if(FCliPKICOM.LastErrorCode != 0 )
124 {
- 125 alert("Get Certificate Failed! Error code: " + FCliPKICOM.LastErrorCode + "," + FCliPKICOM.LastErrorMessage);
- 126 return false;
127 }
128 else
129 {
- 130 FCliPKICOM.FGetCertAttribute(b64Cert);
- 131 if(FCliPKICOM.LastErrorCode != 0 )
132 {
- 133 alert("Get Certificate Attribute Failed! Error code: " + FCliPKICOM.LastErrorCode + "," + FCliPKICOM.LastErrorMessage);
- 134 return false;
135 }
136 else
137 {
- 138 var ExpDate = FCliPKICOM.ExpiredDate;
- 139 var SDN = FCliPKICOM.SubjectDN;
- 140 if(ExpDate.length>=10 && SDN.length>=8)
141 {
- 142 var TodayIdx=readCookie("USER").indexOf("SYS%5FTODAY=");
- 143 var IDNOIdx=readCookie("USER").indexOf("IDNO=");
- 144 if(TodayIdx>=0 && IDNOIdx>=0 && readCookie("USER").length>=TodayIdx+20)
145 {
- 146 var SysDate=readCookie("USER").substring(TodayIdx+12,TodayIdx+20);
- 147 var SysIDNO=readCookie("USER").substring(IDNOIdx+5);
- 148 if(SysIDNO.indexOf("&")>=0)
- 149 SysIDNO=SysIDNO.substring(0,SysIDNO.indexOf("&"));
- 150 ExpDate=ExpDate.substring(0,4)+ExpDate.substring(5,7)+ExpDate.substring(8,10);
- 151 var OUidx=SDN.lastIndexOf("OU=");
- 152 if(OUidx>=0)
153 {
- 154 OUidx=SDN.substring(OUidx+3);
- 155 if(OUidx.search(/capital/i)>=0)
156 {
- 157 OUidx=OUidx.search(/capital/i);
158 }
159 else
160 {
- 161 OUidx=OUidx.search(/macoto/i);
162 }
163 }
- 164 var CAIDNO=SDN.substring(SDN.indexOf("CN=")+3);
- 165 if(CAIDNO.indexOf(",") >= 0)
- 166 CAIDNO=CAIDNO.substring(0,CAIDNO.indexOf(","));
167
- 168 if(OUidx<0)
169 {
- 170 alert("�D�����q�ֵo������!");
- 171 return false;
172 }
- 173 else if(SysDate>ExpDate)
174 {
- 175 alert("���Ҥw�L��!");
- 176 return false;
177 }
- 178 else if(SysIDNO!=CAIDNO)
179 {
- 180 alert("���Ҩ����!");
- 181 return false;
182 }
183 else
184 {
- 185 var B64P7P12Sig = FCliPKICOM.FSignP7ByP12(path,Pin,Raw);
- 186 if(FCliPKICOM.LastErrorCode != 0 )
187 {
- 188 alert("Signature Failed! Error code: " + FCliPKICOM.LastErrorCode + "," + FCliPKICOM.LastErrorMessage);
- 189 return false;
190 }
191 else
192 {
- 193 return B64P7P12Sig;
194 }
195 }
196 }
197 else
198 {
- 199 alert("�Ѽ�Ū���~�A�Э��s�n�J!");
- 200 return false;
201 }
202 }
203 else
204 {
- 205 alert("���Ҥ��e����!");
- 206 return false;
207 }
208 }
209 }
210 }
211 else
212 {
- 213 var sStr = "../LoadCA.asp";
- 214 newwin=window.showModalDialog(sStr,"remote","dialogheight:11;dialogwidth:26;maximize:0;minimize:0;center:1;help:0;");
- 215 if(newwin)
- 216 return checkCA(Raw);
217 else
- 218 return false;
219 }
220 }
221
222 function makeRaw(pform)
223 {
- 224 var orderdata="";
- 225 var cnt=0;
- 226 for(var i=0;i<pform.elements.length;i++)
227 {
- 228 if(pform.elements[i].type == "submit" ||
- 229 pform.elements[i].type == "reset" ||
- 230 pform.elements[i].type == "button")
231 {
- 232 continue;
233 }
- 234 if(pform.elements[i].type == "select-one")
235 {
- 236 for(var j=0;j < pform.elements[i].options.length;j++)
237 {
- 238 if(pform.elements[i].options[j].selected)
239 {
- 240 if(cnt != 0)
- 241 orderdata = orderdata +"&";
- 242 orderdata = orderdata + pform.elements[i].name + "="
- 243 + pform.elements[i].options[j].value;
- 244 cnt++;
- 245 }
246 }
247 }
- 248 else if(pform.elements[i].type == "radio" ||
- 249 pform.elements[i].type == "checkbox")
250 {
- 251 if(pform.elements[i].checked)
252 {
- 253 if(cnt != 0)
- 254 orderdata = orderdata +"&";
- 255 orderdata = orderdata + pform.elements[i].name + "="
- 256 + pform.elements[i].value;
- 257 cnt++;
258 }


回頂端
  
引用回覆  
 文章主題 :
文章發表於 : 2004-07-22, 11:02 
window.showModalDialog(......);

這是微軟IE自家的語法,開啟一個對話視窗,類似window.open(.....)
但showModalDialog的好處就是他可以鎖定開啟的視窗為作用中,除非關閉後,才會回至原父視窗


回頂端
  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 9 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 81 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群