Diễn Đàn » Hướng Dẫn Lập trình

ASP Tip: Encrypt ID - Chống Copy Hàng Loạt

0 trả lời, 281 lượt xem — Trang 1 / 1

<%
RemoteURL = "http://www.cnn.com"
Set objXML = CreateObject("Microsoft.XMLHTTP")
objXML.Open "get", RemoteURL, False
objXML.Send
ResponsePage = objXML.responseText
Set objXML = Nothing
Thetext=lcase(ResponsePage)
response.write (Thetext & "<BR>theo BBC News")
%>


Với đoạn code trên mọi người có thể access vào www.cnn.com và display nó ở trang website của mình.... như giỡn. Dựa vào đó ta có thể copy hàng loạt ở các trang website có database get fields dựa vào ID.

Ví Dụ:

...
RemoteURL = "http://vnthuquan.net/nhac/loica.asp?id=793&dang=uni&cochu=10"
...

nếu viết

for i = 1 to 10000
...
RemoteURL = "http://vnthuquan.net/nhac/loica.asp?id="& i &" &dang=uni&cochu=10"
...
(phần này cắt dữ liệu trong trang và ghi vào database)
next
...


thì người ta dễ dàng copy được một database khá lớn mà là công sức biết bao nhiêu của mình [;)]. Để chống mấy anh tò mò kiểu này (giống VG[8D]), VG có cách... tung hỏa mù trong cái ID [:D] bằng function lấy từ GUID:


Function createGUID(sCode)
Dim TypeLib, tg
Set TypeLib = Server.CreateObject("Scriptlet.TypeLib")
tg = TypeLib.Guid
createGUID = replace(replace(replace(left(tg, len(tg)-2),"-",""),"}",""),"{","")
createGUID = cstr(left(createGUID,17)) + cstr(sCode) + cstr(right(createGUID,15))
createGUID = LCase(createGUID)
Set TypeLib = Nothing
End Function

Function getGUID(sCode)
Dim sPosi:sPosi=len(sCode)-32
If len(sCode)>=33 then
getGUID=Mid(sCode,18,sPosi)
Else
getGUID=0
End If
End Function


+) Về cái function createGUID(sCode) khi ta link cái page:.asp?id="& dataID &" thì sửa lại là.asp?id="& createGUID(dataID) &" - Mục đính chính là "nhét" thằng cha dataID vào sau cái lengh thứ 17 (theo như coding trên - có thể chỉnh lại ở đâu theo ý của mình chú ý mấy con số 17/15/18 bên trên). Trong trang Request.QueryString("id") thì để là getGUID(Request.QueryString("id")) thì mình get lại cái ID vốn có của nó!
Như vậy khi người ta loop bởi for... next thì cũng chả biết đâu mà rờ!
Còn lỡ mà ai đó rãnh công tìm ra cái ID của mình ở đâu đó, thì dễ mà, cho cái ID chạy theo second("TIME") 1->32 trong GUID luôn, cái này hồi sau... sẽ... post! [:D]

Có ý kiến gì thì post bên dưới cho VG học hỏi nha [;)]
xem demo: http://www.vietnamesegroup.com/$khanhlywebsite/nhac.asp
Đăng nhập để trả lời
0