• Thứ Tư, 29/12/2004 09:48 (GMT+7)

    Bảo vệ mã nguồn trang web với Microsoft Windows Script Encoder


    Bạn có một trang web hay với mã nguồn độc đáo vì vậy không muốn tiết lộ "bí quyết"? Phải làm sao đây? Xin giới thiệu với bạn chương trình Windows Script Encoder (SCRENC) của Microsoft. Chương trình này rất tuyệt vời trong việc mã hóa mã nguồn trang web bao gồm các định dạng: *.asa, *.asp, *.cdx, *.htm, *.html, *.js, *.sct, và *.vbs. Chương trình này hoàn toàn miễn phí, dung lượng 127 KB, bạn có thể download tại địa chỉ http://download.microsoft.com/download/0/0/7/0073477f-bbf9-4510-86f9-ba51282531e3/sce10en.exe.

    Cú pháp lệnh của SCRENC như sau:

    SCRENC [/s] [/f] [/xl] [/l defLanguage ] [/e defExtension] <source> <destination>

    - /s [Silent (im lặng)]: Không phát ra bất cứ thông báo nào.

    - /f [Force]: Cho phép ghi đè lên những file cũ.

    - /xl [Exclude Language]: Loại, không cho phép thêm vào các ngôn ngữ chỉ thị trong tập tin ASP.

    - /l [Script Language - Srcipt Default Language]: Chỉ định rõ ngôn ngữ mặc định được sử dụng khi mã hóa.

    - /e [Default Extension]: Ghi đè phần đuôi mở rộng lên file thực tại, ra lệnh cho trình mã hóa khởi động.

    - <source>: Tên file sẽ được mã hóa, bạn có thể dùng những ký tự đại diện (vd: dấu *, dấu ?... dùng để thay thế cho các ký tự bất kỳ có thể xuất hiện ở vị trí đó, như là *.asp).

    - <destination>: Nơi chỉ định file xuất ra. Nếu <source> chứa những ký tự đại diện, thì <destination> sẽ là tất cả các file có chứa ký tự đại diện sẽ được mã hóa, nếu <source> và <destination> trùng với nhau, ta phải dùng /f.

    Ví dụ:

    - screnc test.html encoded.html
    Mã hóa file test.html và xuất ra file encoded.html

    - screnc /f test.html
    Mã hóa và ghi đè lên file test.html

    - screnc /e html test.txt test1.txt
    Xem file test.txt như là file HTML và xuất ra file test1.txt, bạn có thể thay thế html bằng asp...

    - screnc test.asp C:\Mydir\test.asp
    Mã hóa file test.asp và xuất ra C:\Mydir\test.asp

    - screnc *.asp C:\Mydir
    Mã hóa tất cả các file ASP trong thư mục hiện tại và đặt ở C:\MyDir, bạn có thể thay *.asp bằng những định dạng khác.

    - screnc -s -f *.sct
    Mã hóa tất cả các file *.sct trong thư mục hiện hành và ghi đè lên chúng mà không có thông báo nào.

    - screnc -e asp -xl *.inc C:\MyDir
    Mã hóa tất cả các file *.inc trong thư mục hiện tại như là file ASP rồi xuất ra C:\MyDir. Nhớ là bạn không được thêm khóa @LANGUAGE vào đầu tập tin.

    - screnc vbscript test.html encoded.html
    Mã hóa tập tin test.html thành encoded.html. Khi tag SCRIPT trong tập tin test.html không chỉ định rõ là ngôn ngữ nào thì vbscript sẽ được xem như ngôn ngữ mặc định. Nếu -l không được chỉ định thì jscript sẽ được xem như ngôn ngữ mặc định.

    Để chạy SCRENC, bạn vào menu Start.Run, gõ cmd. Sau đó trong cửa sổ Command Prompt bạn nhập vào: cd <thư mục cài đặt screnc> rồi Enter. Bây giờ, bạn nhập cú pháp của chương trình như đã hướng dẫn ở trên.

    Ví dụ, tôi có một file ASP với nội dung trước khi mã hóa như sau:

    <%

    Option Explicit

    Dim info

    Info = Info & "Hello" & "BR"

    Info = Info & "How are you?" & "BR"

    Info = Info & "I love you so much..." & "BR"

    Response.Write Info
    %>

    Còn đây là nội dung sau khi đã được mã hóa:

    <%@ LANGUAGE = VBScript.Encode %>
    %#@~^tQAAAA==@#@&r2DkKxPA6ask1kO@#@&frh,kx6G@#@&qx6G~',q 0GP'~rCnV^GJ,[~E~IJ@#@&&xWW,x,qU6W,[PrCKAPmDnPHW;_rP[,EA"J@#@&(U0KP{P(xWG,[~J&~VK\n~HWE~dKPhE14cR rPLPJ~Ir@#@&@#@&]+kwGUk+Rq.kD+P&UWW@#@&Ty4AAA==^#~@%

    Bạn đừng lo ngại, trình duyệt và web server vẫn có thể xử lý các tập tin như thế này bình thường. Giờ thì chẳng ai có thể nhòm ngó mã nguồn của bạn được nữa đâu.ÿ

    Nguyễn Trung Tín
    tinthongminh@yahoo.com

    ID: A0412_144