banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận mạng và thiết bị mạng Làm sao để IIS buộc client phải delete cookie  XML
  [Question]   Làm sao để IIS buộc client phải delete cookie 05/02/2007 22:02:10 (+0700) | #1 | 40109
father_nghia_den
Elite Member

[Minus]    0    [Plus]
Joined: 06/10/2003 16:48:21
Messages: 95
Offline
[Profile] [PM]
Chào các bạn !
Hiện tại tôi đang dùng IIS , Web của tôi được viết bằng asp .
Tôi đang dùng Windows 2003 Server
Hiện tại tất cả mọi người vào website của tôi đều phải đăng nhập bằng username và password .
Nhưng có 1 vấn đề thế này mà tôi chưa biết giải quyết làm sao .
Khi người đó đã login được vào bằng username và password thì các lần viếng thăm kế tiếp website của tôi họ không cần đăng nhập nữa do cookie vẫn được lưu trên PC của họ .

Giờ mình muốn rằng sau khi đăng nhập bằng u/p . Nếu họ đã tắt trình duyệt web đi và muốn vào lại trang web của mình thị họ bắt buộc phải đăng nhập lại username và password .

Mình cám ơn . :?smilie
[Up] [Print Copy]
  [Question]   IIS tự delete cookie 07/02/2007 04:13:59 (+0700) | #2 | 40365
father_nghia_den
Elite Member

[Minus]    0    [Plus]
Joined: 06/10/2003 16:48:21
Messages: 95
Offline
[Profile] [PM]
Em bỏ dấu check tại options no anomynos access đi thì khi client truy cập vào phải nhập user và pass. Nhưng sau khi họ tắt trình duyệt web đi ( nghĩa là đã kết thúc 1 session ) sau đó mở IE lên lại tạo session mới và truy cập vào web của em . Nó lại không yêu cầu điền user và pass . Do cookie của client vẫn còn cache trên PC của họ .
Giờ em muốn sau mỗi lần user kết thúc session ( tắt trình duyệt web ) là tự động cookie của client bị xóa bỏ . Và lần khởi tạo session kế tiếp sẽ phải điền u/p mới vào được .
Sửa/Xóa nội dung
[Up] [Print Copy]
  [Question]   IIS tự delete cookie 07/02/2007 06:53:31 (+0700) | #3 | 40387
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

father_nghia_den wrote:
Em bỏ dấu check tại options no anomynos access đi thì khi client truy cập vào phải nhập user và pass. Nhưng sau khi họ tắt trình duyệt web đi ( nghĩa là đã kết thúc 1 session ) sau đó mở IE lên lại tạo session mới và truy cập vào web của em . Nó lại không yêu cầu điền user và pass . Do cookie của client vẫn còn cache trên PC của họ .
Giờ em muốn sau mỗi lần user kết thúc session ( tắt trình duyệt web ) là tự động cookie của client bị xóa bỏ . Và lần khởi tạo session kế tiếp sẽ phải điền u/p mới vào được .
Sửa/Xóa nội dung 


Cách an toàn nhất là dùng transient cookie. Điều này có nghĩa là cookie được server cung cấp chỉ tồn tại trên memory của trình duyệt mà thôi mà không hề lưu trên đĩa. Sau khi trình duyệt đóng (exit), cookie này hoàn toàn bị hủy. Nếu em dùng asp, thử xem cái này:
http://www.sitepoint.com/forums/showthread.php?p=1033631

Good luck.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Làm sao để IIS buộc client phải delete cookie 07/02/2007 22:39:09 (+0700) | #4 | 40489
father_nghia_den
Elite Member

[Minus]    0    [Plus]
Joined: 06/10/2003 16:48:21
Messages: 95
Offline
[Profile] [PM]
Hello anh conmale !
Em rất cám ơn vì anh đã reply topic này .
Em đã xem link anh đưa cho em . Và em cũng đã tìm hiểu transient cookie là gì !!
Nhưng do em không biết lập trình + asp nên em có 1 số câu hỏi mong anh giải đáp giúp em . Đoạn code bên dưới có chức năng tạo ra trasnient cookie ?
Với biến
Request.Form("UserName")  
<----- Em điền username em đã tạo trong Server và muốn KH login bằng username này vào đây ?
Request.Form("UserPassword") 
<------ Em điền password em đã tạo trong Server và muốn KH login bằng password này vào đây ?
' Set the query type. 1 means it is a SQL statement  
<------- Database em đang sử dụng là Access chứ không phải SQL . Vậy đoạn script này có hiệu quả không ?

Đoạn script này em phải chèn vào đâu trong trang web của mình ?

Thanks anh


Đoạn script wrote:
<%
' Create a command object. This object serves to run our queries
Set Cm = Server.CreateObject("ADODB.Command")

' Specify the system DSN path
Cm.ActiveConnection = "LoginDSN"

' Now it's time for the query. We need to check the user information
' against the table tUsers
Cm.CommandText = "SELECT * FROM tUsers WHERE " & _
"UserName='" & Request.Form("UserName") & "' AND " & _
"UserPassword='" & Request.Form("UserPassword") & "' "

' Set the query type. 1 means it is a SQL statement
Cm.CommandType = 1

' Retrieve the results in a recordset object
Set Rs = Cm.Execute

' We now check if the user is valid. If user is valid, the recordset MUST
' haverecord. Otherwise it is empty. If user exists, we set authentication
' status to 1 and send the user to appropriate page, say welcome.asp.
' Else send the user back to login.asp
If Rs.EOF Then
Session("Authenticated") = 0
Response.Redirect ("../../login.asp")
Else
Session("Authenticated") = 1
Response.Redirect ("../../cookie.asp")

End If
%>
 


[Up] [Print Copy]
  [Question]   Re: Làm sao để IIS buộc client phải delete cookie 07/02/2007 22:59:18 (+0700) | #5 | 40496
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Hello father_nghia_den,

Những gì anh đưa ra chỉ là định hướng giải quyết. Rất tiếc là anh không thể giúp em một cách chi tiết vì anh mù asp. Bởi thế, anh giúp em chẳng khác gì thằng mù dắt thằng đui :lolsmilie :lolsmilie . Sự thể càng khó hơn khi em không biết lập trình asp. Trong trường hợp này có 2 hướng giải quyết:

1) em tìm người bạn nào hoặc ai đó có kinh nghiệm lập trình asp và nhờ họ giúp phần login và phần quản lý cookie cho application đó.

2) em tự mò mẫm và post bài vào box "Lập trình web", may ra có anh em nào rành asp sẽ giúp em một tay.

Chúc em may mắn.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Làm sao để IIS buộc client phải delete cookie 07/02/2007 23:19:44 (+0700) | #6 | 40507
father_nghia_den
Elite Member

[Minus]    0    [Plus]
Joined: 06/10/2003 16:48:21
Messages: 95
Offline
[Profile] [PM]
Cám ơn anh rất nhiều !
[Up] [Print Copy]
  [Question]   Làm sao để IIS buộc client phải delete cookie 08/02/2007 01:38:40 (+0700) | #7 | 40541
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Hi 2 anh, em xin mạn phép tham gia thế này

father_nghia_den wrote:
Hello anh conmale !
Nhưng do em không biết lập trình + asp nên em có 1 số câu hỏi mong anh giải đáp giúp em . Đoạn code bên dưới có chức năng tạo ra trasnient cookie ? 


Sorry anh, sao đoạn trên anh viết web của anh tạo bằng asp


Với biến
Request.Form("UserName")  
<----- Em điền username em đã tạo trong Server và muốn KH login bằng username này vào đây ?
Request.Form("UserPassword") 
<------ Em điền password em đã tạo trong Server và muốn KH login bằng password này vào đây ?
' Set the query type. 1 means it is a SQL statement  
<------- Database em đang sử dụng là Access chứ không phải SQL . Vậy đoạn script này có hiệu quả không ?
 


Nếu database của anh là Access, theo em anh hoàn toàn có thể sử dụng được đoạn code này. Nó chỉ là các SQL Statement thôi mà


Đoạn script này em phải chèn vào đâu trong trang web của mình ? 


Đoạn code này anh phải chèn vào ngay đầu trang web, vì nó để validate lúc login mà.

Đoạn script wrote:
<%
' Create a command object. This object serves to run our queries
Set Cm = Server.CreateObject("ADODB.Command")

' Specify the system DSN path
Cm.ActiveConnection = "LoginDSN"

' Now it's time for the query. We need to check the user information
' against the table tUsers
Cm.CommandText = "SELECT * FROM tUsers WHERE " & _
"UserName='" & Request.Form("UserName") & "' AND " & _
"UserPassword='" & Request.Form("UserPassword") & "' "

' Set the query type. 1 means it is a SQL statement
Cm.CommandType = 1

' Retrieve the results in a recordset object
Set Rs = Cm.Execute

' We now check if the user is valid. If user is valid, the recordset MUST
' haverecord. Otherwise it is empty. If user exists, we set authentication
' status to 1 and send the user to appropriate page, say welcome.asp.
' Else send the user back to login.asp
If Rs.EOF Then
Session("Authenticated") = 0
Response.Redirect ("../../login.asp")
Else
Session("Authenticated") = 1
Response.Redirect ("../../cookie.asp")

End If
%>
 


 
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Làm sao để IIS buộc client phải delete cookie 08/02/2007 02:14:52 (+0700) | #8 | 40548
father_nghia_den
Elite Member

[Minus]    0    [Plus]
Joined: 06/10/2003 16:48:21
Messages: 95
Offline
[Profile] [PM]
Cám ơn bạn đã reply cho mình .
Mình nói trang web của mình sử dụng asp vì mình đi lấy source code của người khác .
Nếu chính xác ra thì trong website của mình có trang thì viết bắng HTML có trang thì viết bằng ASP .

Vậy bây giờ nếu chèn đoạn code trên vào thì theo như bạn nói mình sẽ chèn ở trang defaut.asp .
Nhưng nếu họ không vào trang chủ mà click vào bằng link của 1 trang con thì đoạn script kia còn hiệu quả hay không ?
Thanks bạn .
[Up] [Print Copy]
  [Question]   Làm sao để IIS buộc client phải delete cookie 08/02/2007 03:24:26 (+0700) | #9 | 40561
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

father_nghia_den wrote:

Vậy bây giờ nếu chèn đoạn code trên vào thì theo như bạn nói mình sẽ chèn ở trang defaut.asp .
Nhưng nếu họ không vào trang chủ mà click vào bằng link của 1 trang con thì đoạn script kia còn hiệu quả hay không ?
Thanks bạn .
 


Theo tớ có 2 solution cho việc này:
1. Bạn bắt User phải đăng nhập ngay đầu tiên, và đoạn code đó add vào site login.asp chẳng hạn
2. Nếu bạn muốn cho User có thể đăng nhập từ bất kỳ site con nào, bạn có thể chèn thẻ <include> vào đầu mỗi trang ASP mà bạn muốn cho đăng nhập:

Code:
<!--#INCLUDE FILE = login.asp -->


Về mục đích ban đầu của bạn là delete cookies, để ghi cookies bạn dùng lệnh (xem thêm trong link anh Conmale đưa)

Code:
Response.Cookies["cookies name"] = value


Để lấy lại cookies bạn dùng lệnh:

Code:
Request.Cookies["cookies name"]


Chúc thành công.

Let's build on a great foundation!
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|