PDA

View Full Version : Lập trình website MU



vithanhlam
20-12-09, 01:39 AM
:| sao mình thấy ít ai bàn luận về code web cho và cách thêm các chức năng cho website vậy nhỉ :-$

ghvn1991
20-12-09, 02:58 PM
Vì giờ có quá nhiều website, bạn phải lập ra 1 topic bàn về một web nào đó :D

bizwebmu
19-03-10, 03:54 PM
Dũng cảm tiến lên phía trước đi bạn, mình đứng sau yểm trợ cho.

Có gì khó khăn cứ PM qua diễn đàn, mình giúp đỡ.

Support Language: ASP, .NET 2.0 và 3.5

truyentranh
19-03-10, 09:08 PM
Dũng cảm tiến lên phía trước đi bạn, mình đứng sau yểm trợ cho.

Có gì khó khăn cứ PM qua diễn đàn, mình giúp đỡ.

Support Language: ASP, .NET 2.0 và 3.5

giúp mình cấu hình cho web ASP không đang nhập cùng lúc 1 tài khoản được không mình đang cần cái này lắm thank! bro nhiều

với lại mình thấy trên internet nhiều code anti ddos cho php cũng như apache nhưng không thấy cấu hình anti ddos cho iis với asp nếu bro có tài liệu về vấn để nay giúp mình với nha

Thank!

LHB_LOVE
19-03-10, 10:37 PM
web mu thì cơ bản nhất là web 0.8 ! bạn muốn nghiên cứu thì down về nghiên cứu code
còn ko thì down cái của bcs về thấy cũng hay lắm đó !

bizwebmu
20-03-10, 07:44 AM
giúp mình cấu hình cho web ASP không đang nhập cùng lúc 1 tài khoản được không mình đang cần cái này lắm thank! bro nhiều

với lại mình thấy trên internet nhiều code anti ddos cho php cũng như apache nhưng không thấy cấu hình anti ddos cho iis với asp nếu bro có tài liệu về vấn để nay giúp mình với nha

Thank!

1. Câu 1 thì không hiểu rõ lắm, có phải là không cho phép đăng nhập 1 tài khoản cùng 1 lúc ở 2 nơi?

2. Ở IIS, muốn Anti ddos, có nhiều cách, dùng IIS Password cũng được, dùng reCapcha cũng được. Mỗi cái có cái hay riêng của nó. Về cơ bản thì mình hiểu nguyên lý của chúng nó rồi sử dụng sao cho linh hoạt thôi.

bizwebmu
20-03-10, 07:48 AM
web mu thì cơ bản nhất là web 0.8 ! bạn muốn nghiên cứu thì down về nghiên cứu code
còn ko thì down cái của bcs về thấy cũng hay lắm đó !


Nói gì thì nói, dùng PHP để quản lý dữ liệu MSSQL là không khoa học.

Đơn giản vì PHP không tương tác được với Stored Procedures của SQL.Đây là một điều bất lợi khi lập trình PHP.

Mà đối với những CSDL có khoảng hàng trăm nghìn tài khoản với hàng triệu nhân vật, xử lý trên Web là một điều không tưởng, Còn xử lý kịch bản trong Stored Procedures thì đơn giản hơn nhiều, vừa nhanh, lại vừa không tốn Ram của máy chủ.

bizwebmu
20-03-10, 08:04 AM
giúp mình cấu hình cho web ASP không đang nhập cùng lúc 1 tài khoản được không mình đang cần cái này lắm thank! bro nhiều

Thank!

Nếu không cho phép đăng nhập 1 tài khoản trên 2 máy (chúng nó nhằm vào lúc máy chủ bị lag để dupe point, Zen, tiền và Reset:D)

Trong table MEMB_INFO, bạn tạo thêm một trường nữa, gọi là MemberCode đi,

Lúc đăng nhập, bạn viết thêm 2 Function nữa, 1 là UserCode, rồi lấy UserCode(account) và 1 Function, lấy Ramdom, gọi là Randomtext(10) chẳng hạn.

Cái RandomText(10) là mình tạo ra 10 ký tự ngẫu nhiên, còn UserCode là tạo ra một string (dạng mã hóa) của tài khoản.

Sau đó, ghép 2 string này lại = UserCode(Account)&Randomtext(10)

Như vậy là ta có 1 string không của tài khoản nào giống tài khoản nào, và gần như là không lúc nào giống lúc nào. Đảm bảo mỗi người, tại mỗi thời điểm đăng nhập có 1 string duy nhất.

Sau khi đăng nhập thành công, bạn làm 2 thao tác.

1. Ghi string kia vào Session hoặc Cookies. (Cái nào cũng được, cái nào cũng an toàn tuyệt đối, nếu ghi cookies thì nhớ đừng ghi Expired Date là được, để End Sesssion, nó del luôn)

2. Ghi string đó vào trong Memb_info, vào cái MemberCode tạo ra lúc đầu ấy.


OK, giờ muốn check đăng nhập, không check Session hay Cookies gì cả, mà đọc chúng lên, rồi mở CSDL ra so sánh, nếu OK thì True, còn không thì False.

Như vậy, nếu User đăng nhập tiếp ở máy khác, thì chuỗi string sẽ bị thay đổi, thằng đăng nhập lúc đầu sẽ bị đẩy ra <:-P


Have a good time o:-)

NetBanBe.Net
20-03-10, 09:50 AM
Nói gì thì nói, dùng PHP để quản lý dữ liệu MSSQL là không khoa học.

Đơn giản vì PHP không tương tác được với Stored Procedures của SQL.Đây là một điều bất lợi khi lập trình PHP.

Mà đối với những CSDL có khoảng hàng trăm nghìn tài khoản với hàng triệu nhân vật, xử lý trên Web là một điều không tưởng, Còn xử lý kịch bản trong Stored Procedures thì đơn giản hơn nhiều, vừa nhanh, lại vừa không tốn Ram của máy chủ.
- Dùng PHP để quản lý dữ liệu MSSQL là không khoa học => Chuẩn, vì MSSQL & ASP là hệ thống của Microsoft nên khả năng tương thích cao; PHP & MySQL là hệ thống mở chuyên dụng cho Linux, vẫn dùng được cho Windows nhưng hệ thống chạy không mượt. Vì thế dĩ nhiên PHP & MSSQL cái sẽ khó có thể tương thích với nhau nếu làm chuyên nghiệp. Còn xử lý bình thường như kiểu WebSite MU thì PHP thừa khả năng.
- PHP không tương tác được với Stored Procedures của SQL => Sai lầm lớn. NWebMU của mình viết dùng PHP vẫn gọi Stored Procedures bình thường.

NetBanBe.Net
20-03-10, 09:54 AM
Nếu không cho phép đăng nhập 1 tài khoản trên 2 máy (chúng nó nhằm vào lúc máy chủ bị lag để dupe point, Zen, tiền và Reset:D)

Trong table MEMB_INFO, bạn tạo thêm một trường nữa, gọi là MemberCode đi,

Lúc đăng nhập, bạn viết thêm 2 Function nữa, 1 là UserCode, rồi lấy UserCode(account) và 1 Function, lấy Ramdom, gọi là Randomtext(10) chẳng hạn.

Cái RandomText(10) là mình tạo ra 10 ký tự ngẫu nhiên, còn UserCode là tạo ra một string (dạng mã hóa) của tài khoản.

Sau đó, ghép 2 string này lại = UserCode(Account)&Randomtext(10)

Như vậy là ta có 1 string không của tài khoản nào giống tài khoản nào, và gần như là không lúc nào giống lúc nào. Đảm bảo mỗi người, tại mỗi thời điểm đăng nhập có 1 string duy nhất.

Sau khi đăng nhập thành công, bạn làm 2 thao tác.

1. Ghi string kia vào Session hoặc Cookies. (Cái nào cũng được, cái nào cũng an toàn tuyệt đối, nếu ghi cookies thì nhớ đừng ghi Expired Date là được, để End Sesssion, nó del luôn)

2. Ghi string đó vào trong Memb_info, vào cái MemberCode tạo ra lúc đầu ấy.


OK, giờ muốn check đăng nhập, không check Session hay Cookies gì cả, mà đọc chúng lên, rồi mở CSDL ra so sánh, nếu OK thì True, còn không thì False.

Như vậy, nếu User đăng nhập tiếp ở máy khác, thì chuỗi string sẽ bị thay đổi, thằng đăng nhập lúc đầu sẽ bị đẩy ra <:-P


Have a good time o:-)
Có 1 cách khác để lấy String kiểm tra đăng nhập đó là thời gian.
Tại 1 thời điểm hiếm khi có 2 acc đăng nhập cùng lúc.
Khi lưu lại String kiểm tra nên lưu bằng Cookie để tránh quá tải cho Server. Vì dữ liệu này không cần độ bảo mật cao.

bizwebmu
20-03-10, 01:03 PM
Không phải là hiếm khi 2 máy cùng đăng nhập vào 1 tài khoản, mà user cố tình làm như thế, để cùng thực hiện một thao tác chuyển khoản hoặc reset.

Nêu máy chủ Lag thì khả năng bị Dupe dữ liệu là rất cao. Nhẹ thì bị dupe zen, nặng hơn nữa thì bị Dupe tiền thật. Nguy hiểm hơn nữa là Reset 2 lần cùng 1 lúc.

truyentranh
20-03-10, 09:25 PM
Nếu không cho phép đăng nhập 1 tài khoản trên 2 máy (chúng nó nhằm vào lúc máy chủ bị lag để dupe point, Zen, tiền và Reset:D)

Trong table MEMB_INFO, bạn tạo thêm một trường nữa, gọi là MemberCode đi,

Lúc đăng nhập, bạn viết thêm 2 Function nữa, 1 là UserCode, rồi lấy UserCode(account) và 1 Function, lấy Ramdom, gọi là Randomtext(10) chẳng hạn.

Cái RandomText(10) là mình tạo ra 10 ký tự ngẫu nhiên, còn UserCode là tạo ra một string (dạng mã hóa) của tài khoản.

Sau đó, ghép 2 string này lại = UserCode(Account)&Randomtext(10)

Như vậy là ta có 1 string không của tài khoản nào giống tài khoản nào, và gần như là không lúc nào giống lúc nào. Đảm bảo mỗi người, tại mỗi thời điểm đăng nhập có 1 string duy nhất.

Sau khi đăng nhập thành công, bạn làm 2 thao tác.

1. Ghi string kia vào Session hoặc Cookies. (Cái nào cũng được, cái nào cũng an toàn tuyệt đối, nếu ghi cookies thì nhớ đừng ghi Expired Date là được, để End Sesssion, nó del luôn)

2. Ghi string đó vào trong Memb_info, vào cái MemberCode tạo ra lúc đầu ấy.


OK, giờ muốn check đăng nhập, không check Session hay Cookies gì cả, mà đọc chúng lên, rồi mở CSDL ra so sánh, nếu OK thì True, còn không thì False.

Như vậy, nếu User đăng nhập tiếp ở máy khác, thì chuỗi string sẽ bị thay đổi, thằng đăng nhập lúc đầu sẽ bị đẩy ra <:-P


Have a good time o:-)

thank bro đã chỉ giáo nhưng còn quá trù tượng đối với một gà con như mình
dù sao cũng thank mình sẽ cố gắng đọc thêm tài liệu về asp để làm được như trên ^_^
có 1 ví dụ thì hay wa
thank bro

bizwebmu
21-03-10, 01:16 PM
Đơn giản như đan rổ.

Đầu tiên là Hex Function


'******************************************
'*** Random Hex Generator ****
'******************************************

Private Function hexValue(ByVal intHexLength)

Dim intLoopCounter
Dim strHexValue

'Randomise the system timer
Randomize Timer()

'Generate a hex value
For intLoopCounter = 1 to intHexLength

'Genreate a radom decimal value form 0 to 15
intHexLength = CInt(Rnd * 1000) Mod 16

'Turn the number into a hex value
Select Case intHexLength
Case 1
strHexValue = "1"
Case 2
strHexValue = "2"
Case 3
strHexValue = "3"
Case 4
strHexValue = "4"
Case 5
strHexValue = "5"
Case 6
strHexValue = "6"
Case 7
strHexValue = "7"
Case 8
strHexValue = "8"
Case 9
strHexValue = "9"
Case 10
strHexValue = "A"
Case 11
strHexValue = "B"
Case 12
strHexValue = "C"
Case 13
strHexValue = "D"
Case 14
strHexValue = "E"
Case 15
strHexValue = "F"
Case Else
strHexValue = "Z"
End Select

'Place the hex value into the return string
hexValue = hexValue & strHexValue
Next
End Function

Lúc Login


strActiveCode = strUsername & hexValue(35)


adoRec("ActiveCode") = strActiveCode
adoRec.Update
adoRec.Requery

Ghi Cookies


Response.Cookies("ActiveCode") = strActiveCode
Đọc Cookies


strLoggedInUserCode = Trim(Mid(Request.Cookies("ActiveCode"), 1, 45))

Kiểm tra đăng nhập



If strLoggedInUserCode <> "" Then
strLoggedInUserCode = formatSQLInput(strLoggedInUserCode)
strSQL = "SELECT * FROM MEMB_INFO Where ActiveCode = '" & strLoggedInUserCode & "';"
Set adoRec = Server.CreateObject("ADODB.Recordset")
adoRec.CursorType = 1
adoRec.Open strSQL, conn
If NOT adoRec.EOF Then

strLoggedInName = adoRec("memb___id")


End IF
adoRec.Close
Set adoRec = Nothing
End If

IF strLoggedInName = "" Then Response.write "<script language=javascript>alert('Vui lòng đăng nhập để quản lý tài khoản.');location.href='/';</script>"

Như thế mà không hiểu nữa thì thôi.

bizwebmu
21-03-10, 01:19 PM
Bonus thêm cho cái Function formatSQLInput


'********************************************
'*** Format SQL input *****
'********************************************

Private Function formatSQLInput(ByVal strInputEntry)
'Remove malisous charcters from links, images and Input strings
strInputEntry = Replace(strInputEntry, "<", "&lt;")
strInputEntry = Replace(strInputEntry, ">", "&gt;")
strInputEntry = Replace(strInputEntry, "[", "[")
strInputEntry = Replace(strInputEntry, "]", "]")
strInputEntry = Replace(strInputEntry, """", "", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "=", "=", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "'", "''", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "select", "select", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "join", "join", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "union", "union", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "where", "where", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "insert", "insert", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "delete", "delete", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "update", "update", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "like", "like", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "drop", "drop", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "create", "create", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "modify", "modify", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "rename", "rename", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "alter", "alter", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "cast", "cast", 1, -1, 1)
formatSQLInput = strInputEntry
End Function

truyentranh
21-03-10, 10:01 PM
đây là file system.asp của mình:



<%


Public Function IsLegalSQL(ByVal strkytu)
IsLegalSQL = True
If InStr(strkytu, " ") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "`") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "~") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "!") <> 0 Then IsLegalSQL = False
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
If InStr(strkytu, "#") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "$") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "%") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "^") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "&") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "*") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "(") <> 0 Then IsLegalSQL = False
If InStr(strkytu, ")") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "+") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "-") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "=") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "|") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "\") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "{") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "}") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "[") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "]") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "?") <> 0 Then IsLegalSQL = False
If InStr(strkytu, ">") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "<") <> 0 Then IsLegalSQL = False
If InStr(strkytu, ",") <> 0 Then IsLegalSQL = False
If InStr(strkytu, """") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "'") <> 0 Then IsLegalSQL = False
If InStr(strkytu, ".") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "/") <> 0 Then IsLegalSQL = False
If InStr(strkytu, ":") <> 0 Then IsLegalSQL = False
If InStr(strkytu, ";") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "insert") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "delete") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "update") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "drop") <> 0 Then IsLegalSQL = False
If InStr(strkytu, "create") <> 0 Then IsLegalSQL = False
End Function

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
dim Only
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
inttongso=64
intvt=0
for i = 1 to len(strchar)
for j=0 to inttongso
if (mid(strchar,i,1)) <> Only(j) then
intvt=intvt+1
end if
next
if intvt=(inttongso+1) then
CharOnly=false

exit function
else
intvt=0
end if
next
CharOnly=true
end function

Public Function AutoMoney(ByVal number) 'Xếp tiền theo dạng xxx.yyy.zzz
Dim a
a = Len(number)
Dim i
i = 0
Dim lag
lag = "."
Dim tam
tam = ""
If (a Mod 3) = 0 Then
For i = 1 To a
tam = tam & Mid(number, i, 1)
If (i Mod 3) = 0 Then
tam = tam & lag
End If


Next
ElseIf (a Mod 3) = 1 Then
tam = Left(number, 1) & lag
For i = 2 To a
tam = tam & Mid(number, i, 1)
If ((i - 1) Mod 3) = 0 Then
tam = tam & lag
End If


Next
ElseIf (a Mod 3) = 2 Then
tam = Left(number, 2) & lag
For i = 3 To a
tam = tam & Mid(number, i, 1)
If ((i - 2) Mod 3) = 0 Then
tam = tam & lag
End If


Next
End If
tam = Left(tam, (Len(tam) - 1))
AutoMoney = tam
End Function
Randomize()
Public Function SoNgauNhien(ByVal dodai) 'tạo số ngẫu nhiên

SoNgauNhien = Int(Rnd() * dodai) + 1
'SoNgauNhien = Rnd()
End Function

Public Function WriteAvatarClass(ByVal id) 'Viết hình của nhân vật
if id = 0 or id = 1 or id = 3 then
WriteAvatarClass = "<img src=Images/Class/DW.jpg>"
elseif id = 16 or id = 17 or id = 19 then
WriteAvatarClass = "<img src=Images/Class/DK.jpg>"
elseif id = 32 or id = 33 or id = 35 then
WriteAvatarClass = "<img src=Images/Class/elf.gif>"
elseif id = 48 or id = 49 or id = 50 then
WriteAvatarClass = "<img src=Images/Class/MG.jpg>"
elseif id = 64 or id = 65 or id = 67 then
WriteAvatarClass = "<img src=Images/Class/DL.jpg>"
elseif id = 80 or id = 81 or id = 83 then
WriteAvatarClass = "<img src=Images/Class/SM.gif>"
else
WriteAvatarClass = "UnKnow"
end if
End Function
Public Function CharName(ByVal id) 'Viết tên của nhân vật
Select case id
case 0
CharName = "Phù Thuỷ"
case 1
CharName = "Pháp Sư"
case 2
CharName = "Đại Pháp Sư"
case 3
CharName = "Đại Pháp Sư"
case 16
CharName = "Chiến Binh"
case 17
CharName = "Hiệp Sĩ"
case 18
CharName = "Đại Hiệp Sĩ"
case 19
CharName = "Đại Hiệp Sĩ"
case 32
CharName = "Tiên Nữ"
case 33
CharName = "Thánh Nữ"
case 34
CharName = "Đại Thánh Nữ"
case 35
CharName = "Đại Thánh Nữ"
case 48
CharName = "Đấu Sĩ"
case 49
CharName = "Đại Đấu Sĩ"
case 50
CharName = "Đại Đấu Sĩ."
case 64
CharName = "Chúa Tể"
case 65
CharName = "Thượng Hoàng"
case 66
CharName = "Thượng Hoàng."
case 80
CharName = "Triệu Hồi Sư"
case 81
CharName = "Huyết Hồi Sư"
case 82
CharName = "Triệu Hồi Vương"
case 83
CharName = "Triệu Hồi Vương"
case else
CharName ="Unknow"
end select
End Function

Public Function IsOnline(Byval name) 'Kiểm tra xem nhân vật có Online hay không
set data3 = server.createobject("adodb.recordset")
data3.open "Select * from MEMB_STAT where memb___id='"& name &"'", conn
if data3.eof or data3.bof then
IsOnline = False
elseif data3("ConnectStat") = 1 then
IsOnline = True
else
IsOnline = False
end if
data3.close
set data3 = nothing
end function

Public Function Ngay() 'Định dạng ngày tháng năm
Ngay= day(now) & "/" & month(now) &"/" & year(now)
end function


Public Function WriteReset(Byval num)
if len(num) = 2 then
WriteReset = left(num,1) & "x"
elseif len(num) = 3 then
WriteReset = left(num,2) & "x"
elseif len(num) = 4 then
WriteReset = left(num,3) & "x"
elseif len(num) = 5 then
WriteReset = left(num,4) & "x"
else
WriteReset = num
end if

End Function



Public Function LogoGuild(Byval strhex, na) 'Viết biểu tượng cho guild

ketqua = ketqua & "<a href=""#"" onclick=""ShowLogo('mLogoGuild',500,300,'<table border=0 width=40% id=table cellspacing=0 cellpadding=0 style=border-style: solid; border-width: 1px; padding: 0>"
For r = 1 To 64
ketqua = ketqua & "<td background=<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>" & Mid(strhex, r, 1) & ".gif id=toadoz"& r &" >&nbsp;</td>"
If ((r Mod 8) = 0) And (r < 64) Then
ketqua = ketqua & "</tr><tr>"
ElseIf (r = 64) Then
ketqua = ketqua & "</tr></table>"
End If
Next
ketqua = ketqua & "');return false"" onmouseout=""hidemenu();"" title=""Click vào để xem (Click rồi giữ yên)"">Logo</a>"

LogoGuild = ketqua
End Function

Public Function Hex2Color(Byval strhex)

if (strhex = "0") then Hex2Color = "#660066"
if (strhex = "1") then Hex2Color = "#000000"
if (strhex = "2") then Hex2Color = "#8c8a8d"
if (strhex = "3") then Hex2Color = "#FFFFFF"
if (strhex = "4") then Hex2Color = "#fe0000"
if (strhex = "5") then Hex2Color = "#ff8a00"
if (strhex = "6") then Hex2Color = "#ffff00"
if (strhex = "7") then Hex2Color = "#8cff01"
if (strhex = "8") then Hex2Color = "#00ff00"
if (strhex = "9") then Hex2Color = "#01ff8d"
if (strhex = "a" or strhex = "A") then Hex2Color = "#00ffff"
if (strhex = "b" or strhex = "B") then Hex2Color = "#008aff"
if (strhex = "c" or strhex = "C") then Hex2Color = "#0000fe"
if (strhex = "d" or strhex = "D") then Hex2Color = "#8c00ff"
if (strhex = "e" or strhex = "E") then Hex2Color = "#ff00fe"
if (strhex = "f" or strhex = "F") then Hex2Color = "#ff008c"
End Function
Public Function Color2Hex(Byval strcolor)
if (strcolor = "#660066") then
Color2Hex = "0"
elseif (strcolor = "#000000") then
Color2Hex = "1"
elseif (strcolor = "#8c8a8d") then
Color2Hex = "2"
elseif (strcolor = "#ffffff") then
Color2Hex = "3"
elseif (strcolor = "#fe0000") then
Color2Hex = "4"
elseif (strcolor = "#ff8a00") then
Color2Hex = "5"
elseif (strcolor = "#ffff00") then
Color2Hex = "6"
elseif (strcolor = "#8cff01") then
Color2Hex = "7"
elseif (strcolor = "#00ff00") then
Color2Hex = "8"
elseif (strcolor = "#01ff8d") then
Color2Hex = "9"
elseif (strcolor = "#00ffff") then
Color2Hex = "A"
elseif (strcolor = "#008aff") then
Color2Hex = "B"
elseif (strcolor = "#0000fe") then
Color2Hex = "C"
elseif (strcolor = "#8c00ff") then
Color2Hex = "D"
elseif (strcolor = "#ff00fe") then
Color2Hex = "E"
elseif (strcolor = "#ff008c") then
Color2Hex = "F"
else
Color2Hex = "False"
end if
End Function


Public Function MapName(ByVal id)
Select Case id
case 0
MapName = "Lorencia"
case 1
MapName = "Dungeon"
case 2
MapName = "Devias"
case 3
MapName = "Noria"
case 4
MapName = "Lost Tower"
case 6
MapName = "Arena"
case 7
MapName = "Atlans"
Case 8
MapName = "Tarkan"
case 10
MapName = "Icarus"
case 29
MapName = "Kalima"
case 30
MapName = "Valley Of Loren"
Case 33
MapName = "Aida"
Case 34
MapName = "CryWolf"
case 51
MapName = "Elbeland"
case else
MapName = "New Map"
end select

End Function

Function AutoSerial()
the1 = Hex(SoNgauNhien(15))
the2 = Hex(SoNgauNhien(15))
the3 = Hex(SoNgauNhien(15))
the4 = Hex(SoNgauNhien(15))
the5 = Hex(SoNgauNhien(15))
the6 = Hex(SoNgauNhien(15))
the7 = Hex(SoNgauNhien(15))
the8 = Hex(SoNgauNhien(15))
AutoSerial = the1 & the2 & the3 & the4 & the5 & the6 & the7 & the8

End Function

Private Function hexValue(ByVal intHexLength)

Dim intLoopCounter
Dim strHexValue

'Randomise the system timer
Randomize Timer()

'Generate a hex value
For intLoopCounter = 1 to intHexLength

'Genreate a radom decimal value form 0 to 15
intHexLength = CInt(Rnd * 1000) Mod 16

'Turn the number into a hex value
Select Case intHexLength
Case 1
strHexValue = "1"
Case 2
strHexValue = "2"
Case 3
strHexValue = "3"
Case 4
strHexValue = "4"
Case 5
strHexValue = "5"
Case 6
strHexValue = "6"
Case 7
strHexValue = "7"
Case 8
strHexValue = "8"
Case 9
strHexValue = "9"
Case 10
strHexValue = "A"
Case 11
strHexValue = "B"
Case 12
strHexValue = "C"
Case 13
strHexValue = "D"
Case 14
strHexValue = "E"
Case 15
strHexValue = "F"
Case Else
strHexValue = "Z"
End Select

'Place the hex value into the return string
hexValue = hexValue & strHexValue
Next
End Function
Private Function formatSQLInput(ByVal strInputEntry)
'Remove malisous charcters from links, images and Input strings
strInputEntry = Replace(strInputEntry, "<", "&lt;")
strInputEntry = Replace(strInputEntry, ">", "&gt;")
strInputEntry = Replace(strInputEntry, "[", "[")
strInputEntry = Replace(strInputEntry, "]", "]")
strInputEntry = Replace(strInputEntry, """", "", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "=", "=", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "'", "''", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "select", "select", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "join", "join", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "union", "union", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "where", "where", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "insert", "insert", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "delete", "delete", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "update", "update", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "like", "like", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "drop", "drop", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "create", "create", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "modify", "modify", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "rename", "rename", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "alter", "alter", 1, -1, 1)
strInputEntry = Replace(strInputEntry, "cast", "cast", 1, -1, 1)
formatSQLInput = strInputEntry
End Function

Function PercentImg(Byval tu, mau)
choichoi = round((tu/mau) * 100) * 2
PercentImg = "<img src=""<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"" width="& choichoi &" height=""20"">"
End Function

Function Percent(Byval tu, mau)
choichoi = round((tu/mau) * 100,2)
Percent = choichoi & "%"
End Function
'================================================= ================================================== =
'====== Test============================================== =========================================


%>

file: login.asp



<% if request.ServerVariables("<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>")="" then %>
<!--#includes file="Default.htm"-->
<%
response.end
end if
%>
<!--#includes file="../Common/ConnectSQL.asp"-->
<!--#includes file="../Common/System.asp"-->
<%

acc = request("acc")
pass = request("pass")
strActiveCode = request("acc") & hexValue(35)
adoRec("ActiveCode") = strActiveCode
adoRec.Update
adoRec.Requery
if pass = "" or acc = "" then
response.write("<b><font color='#FF0000'><center>Vui lòng nhập dữ liệu</center></font><b/>")
%>
<!--#includes file="../Page/Login.asp"-->
<%
elseif not islegalsql(acc) then
response.write("<b><font color='#FF0000'><center>Tài khoản này có ký tự đặc biệt</center></font><b/>")
%>
<!--#includes file="../Page/Login.asp"-->
<%
elseif not islegalsql(pass) then
response.write("<b><font color='#FF0000'><center>Mật khẩu có ký tự đặc biệt</center></font><b/>")
%>
<!--#includes file="../Page/Login.asp"-->
<%
else
Set data = server.createobject("adodb.recordset")
data.open "Select * from MEMB_INFO where memb___id='"& acc &"' and memb__pwd='"& pass &"'", conn
if data.eof or data.bof then
response.write("<b><font color='#FF0000'><center>Tài khoản hoặc mật khẩu không chính xác</center></font><b/>")
%>
<!--#includes file="../Page/Login.asp"-->
<%
else
session("akalis") = acc
Response.Cookies("ActiveCode") = strActiveCode
strLoggedInUserCode = Trim(Mid(Request.Cookies("ActiveCode"), 1, 45))
%>
<!--#includes file="../Page/Login.asp"-->
<%

data.close
set data = nothing
end if

end if

set conn = nothing




%>


bạn kiểm tra dùm mình nha!

thank! bạn nhiều

chắc bạn hơi bực mình vì gặp thằng gà hỏi nhiều sorry nha! ^_^

tại mình hok biết chứ cũng ngại lắm

bizwebmu
21-03-10, 10:49 PM
Vậy, bạn muốn kiểm tra cái gì?

truyentranh
22-03-10, 11:26 AM
mình vừa sms cho bạn đó
bạn cho mình yahoo thì tốt quá

bizwebmu
22-03-10, 04:34 PM
I'm Hidden.

Not Yahoo plz.........................

YeuVo_ThuongCon
23-03-10, 06:02 PM
Rất hay đó cậu bizwebmu ( chắc cậu là em lão Tùng hả )

vietpro8x
23-03-10, 07:26 PM
Ông này là code của lão tùng :D <:-P

bizwebmu
23-03-10, 10:46 PM
Lão T giải nghệ lâu rồi,

Tre già thì có măng mọc :)>-

renoxp
27-03-10, 09:35 AM
Có source website nào có những cái đơn giản như thế này không ?

Trang đăng ký - trang quản lý account (đổi pass 1 - đổi pass 2 - đổi email) - Trang lấy lại mật khẩu ???

onetheside123
27-03-10, 06:24 PM
Có source website nào có những cái đơn giản như thế này không ?

Trang đăng ký - trang quản lý account (đổi pass 1 - đổi pass 2 - đổi email) - Trang lấy lại mật khẩu ???
web nào bây giờ mà không có cái đó
thật ra đơn giản nhất bây giờ
bạn down web 0.8 về
code nó dễ hiểu vì qua nhìu time dev rồi
học từ từ rồi sẽ tiếp thu đc thôi
làm cái này học cả mấy tháng mới làm ra được 1 web có phong cách "MY STYLE" đó bạn à.
@bizweb: pác này chơi câu kia ác thiệt,
mình trình độ còn rất gà, chỉ code đc mấy cái chức năng đơn giản
(mình cũng rất tự hào làm đc cái máy ép đồ online).
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
@truyentranh: mình còn gà lắm nên chỉ có cách hướng dẫn cho gà thôi. Bạn làm như sau. Trong cột memb_info bạn tao thêm 1 colum trangthai với giá trị int.
Khi đăng nhập, bạn chạy query set cho giá trị trangthai là 1. Và khi log out bạn set query cho trangthai là 0.
Khi đăng nhập ở 1 máy khác. nếu colum trangthai đang là 1 thì sẽ báo là bạn đang đăng nhập ở máy khác, vui lòng thoát ra ....
@All: Xin nhắc lại lần nữa, mình trình đồ còn gà, chỉ biết nhiu đó. Ai ghét xin cũng đừng chửi :-<

renoxp
28-03-10, 11:19 AM
Uh để coi lại vậy.

Mình thì cần các form như thế thôi chứ không cần style :D

bachcotsau
28-03-10, 01:02 PM
Uh để coi lại vậy.

Mình thì cần các form như thế thôi chứ không cần style :D

Chắc bạn cần để nghiên cứu phải không... Nếu cần thì về php mình có thể giúp.

bizwebmu
28-03-10, 03:42 PM
@bizweb: pác này chơi câu kia ác thiệt,


Câu nào ác cơ?



@truyentranh: mình còn gà lắm nên chỉ có cách hướng dẫn cho gà thôi. Bạn làm như sau. Trong cột memb_info bạn tao thêm 1 colum trangthai với giá trị int.
Khi đăng nhập, bạn chạy query set cho giá trị trangthai là 1. Và khi log out bạn set query cho trangthai là 0.
Khi đăng nhập ở 1 máy khác. nếu colum trangthai đang là 1 thì sẽ báo là bạn đang đăng nhập ở máy khác, vui lòng thoát ra ....


Cái này thì bạn ~:> thật, lỡ User chơi ở quán Net, bụp phát mất điện, không kịp Logout ra thì khóc bằng tiếng mán à

truyentranh
28-03-10, 05:18 PM
Câu nào ác cơ?



Cái này thì bạn ~:> thật, lỡ User chơi ở quán Net, bụp phát mất điện, không kịp Logout ra thì khóc bằng tiếng mán à
bạn conde phàn check login vào web MVT dc ko

thank! nhe

onetheside123
28-03-10, 10:11 PM
Câu nào ác cơ?



Cái này thì bạn ~:> thật, lỡ User chơi ở quán Net, bụp phát mất điện, không kịp Logout ra thì khóc bằng tiếng mán à
chuẩn men :|
đúng là gà thật.
thôi đọc lại bài trên của pác vậy?
à mà câu ác là câu:
ko hiểu thì thôi gì đó
bạn ấy mới học code mà ghi 1 đống như vậy chắc (~~) sớm

bizwebmu
30-03-10, 12:08 PM
bạn conde phàn check login vào web MVT dc ko

thank! nhe

Bạn cần thì send cho mình code bạn định dùng, mình nhúng vào cho/

bizwebmu
30-03-10, 12:09 PM
Hoặc mình sẽ hướng dẫn Step by step để tự làm.

Mục đích đầu tiên của việc làm Server là để học hỏi cho level Up đã, còn nếu xác định để kiếm tiền thì không bền đâu.

Khi nào đạt Level Master rồi kiếm tiền tỷ cũng chưa muộn mà.

truyentranh
05-04-10, 12:05 PM
Hoặc mình sẽ hướng dẫn Step by step để tự làm.

Mục đích đầu tiên của việc làm Server là để học hỏi cho level Up đã, còn nếu xác định để kiếm tiền thì không bền đâu.

Khi nào đạt Level Master rồi kiếm tiền tỷ cũng chưa muộn mà.


wow vậy thì còn gì bằng
đây là link web mình định dùng nè web MVT 4.2 của bác Mai Vũ Tuyền

bạn giúp mình nhe

step by step hoặc nhúng vào càng tốt

thank bạn nha bạn thật tốt bụng

๑۩۞۩๑๑۩۞۩๑
05-04-10, 11:42 PM
vậy cuối cùng là web asp ngon nhất rồi

bizwebmu
06-04-10, 01:32 PM
wow vậy thì còn gì bằng
đây là link web mình định dùng nè web MVT 4.2 của bác Mai Vũ Tuyền

bạn giúp mình nhe

step by step hoặc nhúng vào càng tốt

thank bạn nha bạn thật tốt bụng

Cho cái link down được không? .................................................. ......................

truyentranh
06-04-10, 01:39 PM
Cho cái link down được không? .................................................. ......................
hix mình xin lỗi nhe
hôm wa thấy bạn giúp mình mừng quá copy rồi mà quên ^_^

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

link đó bạn web MVT 4.2 bảo mật cũng tốt lắm nhưng bị lỗi như hôm trước mình nói đó

dùng nhiều máy đăng nhập cùng acc để hack reset hoặc webshop

thank! bạn nhiều

truyentranh
14-04-10, 10:14 AM
lên cho bạn thấy nè............................hix chờ bạn lâu quá

YeuVo_ThuongCon
24-04-10, 02:25 PM
lên cho bạn thấy nè............................hix chờ bạn lâu quá

Ý bạn là muốn fix 1 acc đăng nhập trên nhiều máy đúng không

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

tớ chỉ cho :))

onetheside123
24-04-10, 02:53 PM
Ý bạn là muốn fix 1 acc đăng nhập trên nhiều máy đúng không

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

tớ chỉ cho :))
sao ko lám bài realese trên đây lun đi chú Hào:-)
cái này hot
:)>-

YeuVo_ThuongCon
24-04-10, 07:08 PM
Ở trang 2 đã có người shre tới tận nơi cho rồi mà
Nhưng cách đó cũng Ok nếu không biết làm sẽ gây lỗi

truyentranh
04-05-10, 04:24 PM
giúp mình với mình đã pm cho bạn rồi đó

ghvn1991
05-05-10, 10:21 AM
Cái này đơn giản mà...................... :D

xichloo
05-05-10, 11:21 AM
Cái này đơn giản mà...................... :D
vậy bạn chỉ mình nha
cám ơn bạn nhiều lắm

vutuyen
08-05-10, 11:24 AM
Nếu không cho phép đăng nhập 1 tài khoản trên 2 máy (chúng nó nhằm vào lúc máy chủ bị lag để dupe point, Zen, tiền và Reset:D)

Trong table MEMB_INFO, bạn tạo thêm một trường nữa, gọi là MemberCode đi,

Lúc đăng nhập, bạn viết thêm 2 Function nữa, 1 là UserCode, rồi lấy UserCode(account) và 1 Function, lấy Ramdom, gọi là Randomtext(10) chẳng hạn.

Cái RandomText(10) là mình tạo ra 10 ký tự ngẫu nhiên, còn UserCode là tạo ra một string (dạng mã hóa) của tài khoản.

Sau đó, ghép 2 string này lại = UserCode(Account)&Randomtext(10)

Như vậy là ta có 1 string không của tài khoản nào giống tài khoản nào, và gần như là không lúc nào giống lúc nào. Đảm bảo mỗi người, tại mỗi thời điểm đăng nhập có 1 string duy nhất.

Sau khi đăng nhập thành công, bạn làm 2 thao tác.

1. Ghi string kia vào Session hoặc Cookies. (Cái nào cũng được, cái nào cũng an toàn tuyệt đối, nếu ghi cookies thì nhớ đừng ghi Expired Date là được, để End Sesssion, nó del luôn)

2. Ghi string đó vào trong Memb_info, vào cái MemberCode tạo ra lúc đầu ấy.


OK, giờ muốn check đăng nhập, không check Session hay Cookies gì cả, mà đọc chúng lên, rồi mở CSDL ra so sánh, nếu OK thì True, còn không thì False.

Như vậy, nếu User đăng nhập tiếp ở máy khác, thì chuỗi string sẽ bị thay đổi, thằng đăng nhập lúc đầu sẽ bị đẩy ra <:-P


Have a good time o:-)

Quá hay. giờ mình có giải pháp rồi hj Thanks