Thứ Tư, 30 tháng 10, 2013

Install Social-Engineer-Toolkit (Set) On Linux

Posted by Unknown Thứ Tư, tháng 10 30, 2013, under | 1 comment

 Social-Engineer-Toolkit (Set) là gì thì mình không bít nha ! Các bạn tìm hiểu, mình chỉ hướng dẫn cách cài đặt lên Linux Mint 15 thôi .
Các bước thực hiện như sau :
1. chuyển quyền root
sudo -i

2. di chuyển con trỏ đến thư mục " opt"
cd /opt

3.  cài git ( nếu máy bạn chưa cài )
sudo apt-get install git

4. tải  Social-Engineer-Toolkit (Set) về máy :
git clone https://github.com/trustedsec/social-engineer-toolkit/ set/

5. chuyển con trỏ đến thư mục "set" trong "/opt/set/ "
cd /set/

6.  cài đặt
./setup.py install

7. Cài các gói sau :
sudo apt-get install ettercap
sudo apt-get install sendmail
sudo apt-get install openjdk-6-jd

8. mở file "set_config" trong  thư mục " /opt/set/config/ ", chỉ sửa lại vài thứ :

DEPLOY_OSX_LINUX_PAYLOADS=ON ( /OFF )

CUSTOM_LINUX_OSX_PAYLOAD=ON

ETTERCAP_INTERFACE=eth0 ( là kết nối internet của máy bạn, mặc đinh là eth0  )
.....................

8.  Chạy "Social-Engineer-Toolkit (Set)" :

 cd config
setoolkit


9. demo :





Thứ Bảy, 26 tháng 10, 2013

Hack pass Admin Windows 8 khó như ăn chuối

Posted by Unknown Thứ Bảy, tháng 10 26, 2013, under | No comments

Step 1: Prepare a WinPE Image (download it), and burn it to a USB flash drive or a CD/DVD disc.

Step 2: Boot the computer you want to hack from WinPE live disk.

Step 3: Write a Windows password hack script:

1.1 Create a file named windows-password-hack.bat.
1.2 Write password hack script: net user administrator 000. Just so much, is it easy? This command will set the administrator account’s password to 000. If want to hack other user password, add more commands like this: net user user_name1, new_password1 rn net user user_name2, new_password2 .
Step 4: Copy the hack script file to Windows system32 directory.

Save windows-password-hack.bat and copy it to the system32 directory . Here.. copy to C:WindowsSystem32. Note: If the system you want to hack is on D: partition, you should copy windows-password-hack.bat to D:WindowsSystem32.

Step 5: Edit registry to make Windows run the hack script when it start up.(shown below)

5.1 Load SYSTEM to WinPE’s register, and give it a name system_hack.

5.2 Add a sub key named windows-password-hack to HKEY_LOCAL_MACHINEsystem_hackservices, and add a group key values for it, shown as below:

[HKEY_LOCAL_MACHINEsystem_hackControlSet001Serviceswindows-password-hack]
"Type"=dword:00000110
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"="windows-password-hack.bat"
"DisplayName"="windows-password-hack"
"ObjectName"="LocalSystem"

[HKEY_LOCAL_MACHINEsystem_hackControlSet001Serviceswindows-password-hackSecurity]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINEsystem_hackControlSet001Serviceswindows-password-hackEnum]
"0"="Root\LEGACY_SUNDAR_SERVICE00"
"Count"=dword:00000001
"NextInstance"=dword:00000001
5.3 Unload system_hack from WinPE’s register.

Google How to edit Windows registry offline for more detail.

Step 6: Restart computer and login Administrator account with new password.

After login windows, you can open the register, and delete the windows-password-hack key.

Hack pass Admin Windows 7 dễ như ăn cơm nguội

Posted by Unknown Thứ Bảy, tháng 10 26, 2013, under | No comments

Dùng Hiren's Boot CD 10.5, sau khi cho Hiren's Boot CD vào, khởi động lại máy và chọn chế độ boot là CDROM thì màn hình boot xuất hiện. Bạn chọn Dos Programs
Màn hình kế tiếp xuất hiện, bạn chọn Password & Registry Tool ...
Chọn Active Password Changer 3.0.420 (NT/2000/XP/2003/Vista)*
Để cho chương trình chạy, đến khi xuất hiện cái bảng này thì bạn nhấn Enter để chọn YES.
Lựa chọn để chương trình tìm Password Windows nằm trong MS SAM Database. Bạn chọn [2] và nhấn Enter.
Đợi cho chương trình tìm MS SAM Database, sau khi tìm thành công, nó sẽ xuất hiện kết quả tìm kiếm. Bạn nhấn Enter để tiếp tục.
Bạn nhập số tương ứng với tên tài khoản đăng nhập Windows 7 của bạn mà bạn lỡ quên password. Sau đó nhấn Enter.
Mặc định chương trình sẽ chọn dùm bạn 2 dòng Password Never Expires và Clear this User's Password. Nhiệm vụ của bạn là nhấn Y để lưu thay đổi và thoát chương trình.
xong rút đĩa Hiren's Boot CD ra và khởi động lại máy. Woa , Windows đã tự động Login vào thẳng luôn, không yêu cầu đăng nhập Password nữa.
Nếu bạn muốn thay đổi lại Password thì bạn vào Control Panel và chỉnh sửa lại User Accounts.

Thứ Năm, 24 tháng 10, 2013

Cách chia IP theo Subnet

Posted by Unknown Thứ Năm, tháng 10 24, 2013, under | No comments


Như ta đã biết mạng Internet sử dụng địa chỉ IPv4 32 bit và phân chia ra các lớp A,B,C,D , tuy nhiên, với một hệ thống địa chỉ như vậy việc quản lý vẫn rất khó khăn . Nếu như một mạng được cấp một địa chỉ lớp A thì có nghĩa nó có thể chứa tới 16*1.048.576 địa chỉ ( máy tính ) .Với số lượng máy tính lớn như vậy rất ít công ty hoặc tổ chức dùng hết được điều đó gây lãng phí địa chỉ IP. Để tránh tình trạng đó các nhà nghiên cứu đưa ra một phương pháp là sử dụng mặt nạ mạng con ( Subnet mask ) để phân chia mạng ra thành những mạng con gọi là Subnet. Subnet mask là một con số 32 bit bao gồm n bit 1 ( thường là các bit cao nhất ) dùng để đánh địa chỉ mạng con và m bit 0 dùng để đánh địa chỉ máy trong mạng con với n+m=32 .
Subnet mask phải được cấu hình cho mỗi máy tính trong mạng và phải được định nghĩa cho mỗi giao diện Router. Như vậy, ta phải dùng cùng một Subnet mask cho toàn bộ mạng vật lý cùng chung một địa chỉ Internet. Trong thực tế, để dễ dàng cho hoạt động quản lý các máy trong mạng, thường chia nhỏ các mạng lớn trong các lớp mạng (A, B, C) thành các mạng nhỏ hơn. Quá trình này được thực hiện bằng cách lấy một số bit ở phần định danh host để sử dụng cho việc đánh địa chỉ mạng. Tuỳ theo cách sử dụng của người quản trị mạng ( số subnet và số host trên mỗi subnet ) mà số lượng bit lấy ở phần host nhiều hay ít.
Để tách biệt giữa địa chỉ mạng và địa chỉ host người ta dùng netmask. Để tách biệt giữa Subnet address và địa chỉ host người ta dùng Subnet mask.

I. Tính theo công thức :

Theo quy ước, các địa chỉ IP được chia ra làm ba lớp như sau:

Dạng thập phân:
Lớp A:1.0.0.0->126.0.0.0
Lớp B:128.0.0.0->192.255.0.0
Lớp C:192.0.0.0->223.255.255.0

Dạng nhị phân :
Class  Subnet mask trong dạng nhị phân              Subnet mask
Lớp A 11111111 00000000 00000000 00000000   255.0.0.0
Lớp B 11111111 11111111 00000000 00000000   255.255.0.0
Lớp C 11111111 11111111 11111111 00000000   255.255.255.0

Như ta đã biết:
+ lớp A sử dụng 1 octet đầu tiên làm Network ID. Sử dụng 8 bit đầu được set  giá trị thành 1, và 24 bit sau set giá trị 0 => có Subnet Mask 255.0.0.0.
+ lớp B sử dụng 2 octet đầu tiên làm Network ID. Sử dụng 16 bit đầu được set  giá trị thành 1, và 16 bit sau set giá trị 0 => có Subnet Mask 255.255.0.0.
+ lớp C sử dụng 3 octet đầu tiên làm Network ID. Sử dụng 32 bit đầu được set  giá trị thành 1, và 8 bit sau set giá trị 0 => có Subnet Mask 255.255.255.0.

Ví dụ IP: 192.168.1.0/24
Đây là địa chỉ thuộc lớp C. Và con số 24 có nghĩa là ta sử dụng 24 bit cho phần Network ID, và còn lại 8 bit cho Host ID.
Ví dụ : Công ty thuê một đường IP là 192.168.1.0. Bây giờ ông giám đốc yêu cầu phân làm chia làm 3 mạng con cho ba phòng ban trong công ty. Hãy thực hiện việc chia subnet này.

Trước hết ta phân tích cấu trúc của địa chỉ: 192.168.1.0 như sau:
+ Địa chỉ NetMask: 255.255.255.0
+ Network ID: 11111111.11111111.11111111 (32 bit )
+ HostID: 00000000 ( 8 bit )

Trong ví dụ này ta cần chia làm 3 mạng con (3 subnet) nên ta cần sử dụng 2 bit ở phần Host ID để thêm vào Network ID. Làm sao để biết được số bit cần mượn thêm? Ta có công thức : 2^n>=m (với m là số subnet cần chia, n là số bit cần mượn). Ở đây 2^2>=3.
Sau khi mượn 2 bit, ta có cấu trúc mới ở dạng nhị phân là (bit mượn ta set giá trị bằng 1,còn lại là 0 ở Net mask  ):
+ Địa chỉ NetMask:: 11111111.11111111.11111111.11000000
+ Network ID: 11111111.11111111.11111111.11
+ Host ID: 000000
=> Ở dạng thập phân là: 255.255.255.192 ( 2^8 +2^7 =128+64=192 )

Địa chỉ IP mới lúc này là: 192.168.1.0/26 ( 24 bit + 2 bit mượn =26 bit ).
Ta xác định "bước nhảy" cho các subnet:
Bước nhảy k=256-192=64 ( số máy trên mmỗi mạng con , nhưng không được dùng IP đầu và IP cuối, tức là mỗi mạng chỉ có 62 máy )
Các mạng con sau:
Ip: 192.168.1.0         Netmask: 255.255.255.192
Ip: 192.168.1.64        Netmask:  255.255.255.192
Ip: 192.168.1.128      Netmask: 255.255.255.192
Ip: 192.168.1.192      Netmask: 255.255.255.192

Số máy trên mỗi mạng :
Số bits của Host ID còn lại sau khi đã bị Network ID mượn: x = 32-26 = 6
=> Số máy trên mỗi mạng: 2^n-2 = 2^6-2 = 62 máy


VD: Giả sử ta có một địa chỉ IP cho toàn bộ hệ thống mạng của ta là 132.8.18.60 => Đây là một địa chỉ lớp B và ta có biểu diễn của nó theo dạng 
địa chỉ mạng. địa chỉ mạng. địa chỉ Host. địa chỉ Host
1000 0100 . 0000 1000 . 0001 0010 . 0011 1100
=> Nó có 16 Bit cho địa chỉ mạng và 16 Bit cho địa chỉ Host => ta có thể lấy một số Bit trong phần địa chỉ Host để làm Subnet Mask
Giả sử ta cần chia mạng của ta thành 14 mạng con => ta cần xác định lấy mấy Bit của địa chỉ Host làm Sub net mask : 2^1=2, 2^2=4, 2^3=8, 2^4=16 ( 16>14 ) => cần 4 Bit ( phần Host còn 12 bit )
Ta có Subnet Mask : 1111 1111. 1111 1111. 1111 0000 0000 0000
=> tính được số Host trong mỗi Subnet là 2 ^12 -2 = 4094


II. Tính nhẩm :

Đầu tiên các bạn xòe bàn tay trái ra và đếm theo hình:


Qui tắc bàn tay trái 


Các bạn để ý bàn tay chúng ta có tất cả 14 lóng tay, mỗi lóng tay tương trưng cho 1 bit nhé!
Đếm 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384.


- Để tính tổng số lượng Subnet id có được sau khi chia, ta đếm số bit mượn làm subnet id trong octet đó là ra. Mượn 3 bit thì đếm 2 4 8, mượn 4 bit thì đếm 2 4 8 16, giá trị của bit đếm sau cùng chính là tổng số subnet id sau khi được chia ra.

Ví dụ:  10.10.0.0 /13  ---> mượn 5 bit  ---> đếm 2 4 8 16 32 mạng này có 32 subnet.

-  Để tính bước nhảy trong mỗi subnet id. Ta đếm số bit còn lại dùng làm host trong riêng octet đó. Giá trị của bit được đếm sau cùng cũng là giá trị của bước nhảy trong octet đó.

Ví dụ: 172.35.0.0/19. Tức là địa chỉ lớp B sẽ mượn 3 bit ở octet thứ 3 làm subnet id. Dùng phương pháp đếm ta có 2 4 8, đủ 3 bit mượn rồi, vậy tổng số subnet id là 8. Ta biết trong octet thứ 3 sau khi cho mượn 3 bit làm net id thì còn lại 5 bit làm host, vậy ta đếm 2 4 8 16 32, đủ 5 bit rồi, giá trị là 32, và cũng chính là bước nhảy của subnet id., thử xem nào:
-172.35.0.0/19
-172.35.32.0/19
-172.35.64.0/19
-172.35.96.0/19
-172.35.128.0/19
-172.35.160.0/19
-172.35.192.0/19
-172.35.224.0/19
Ta có tổng cộng 8 subnet id, với bước nhảy là 32.

- Để tính địa chỉ broadcast của một subnet id ta lấy subnet id kế tiếp giảm 1. Ví dụ, để tính broadcast của subnet id 172.35.64.0/19, ta lấy subnet id kế tiếp là 172.35.96.0/19 giảm 1 == 172.35.95.255/19 đây chính là broadcast của subnet id 172.35.64.0

- Để tính số host trong một subnet, ta đếm toàn bộ số bit host còn lại trong subnet và lấy giá trị bit sau cùng đó -2, Lưu ý là không phân biệt octet. Nhắc lại, ta lấy giá trị của bit được đếm sau cùng - 2 ta được số host trong subnet id có thể xài.
Trong ví dụ subnet 172.35.64.0/19, ta nhận biết toàn bộ số bit dùng làm host còn lại là 13. Ta đếm 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192, đủ 13 bit rồi, ok, số host trong mạng sẽ là 8192 -2 = 8190. Vì sao -2, vì ta phải trừ bỏ địa chỉ subnet id và broadcast. Hay đơn giản hơn có thể nhận thấy là số host có thể xài được trong dãy:
172.35.64.1/19 ----> 172.35.95.254/19
Và đống thời nó cũng lọt giữa 2  subnet id và broadcast.

Lưu ý: Phương pháp đếm từ 2 không được dùng để tính tổng số giá trị của 1 octet chạy từ 0->255. Hay nói cách khác là không được dụng để tính tổng giá trị của 1 dãy bit như 10101101. Để tính tổng số giá trị của dãy trên ta phải đếm từ 1, cộng các giá trị có bit 1 với nhau.


Các bạn cũng có thể dùng bàn tay phải để ghi nhớ các giá trị  sau :
1xxxxxxx =128
11xxxxxx =192
111xxxxx =224
1111xxxx =240
11111xxx =248
111111xx =252
1111111x =254
11111111 =255

2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256

Qui tắc bàn tay phải 
Mượn 1 bit : 128
Mượn 2 bit : 192
Mượn 3 bit : 224
Mượn 4 bit : 240
Mượn 5 bit : 248
Mượn 6 bit : 252
Mượn 7 bit : 254
Mượn 8 bit : 255

Ví dụ : 10.10.0.0 /13 --mượn 5 bit ( 248 ) => S/M: 255.248.0.0
           155.55.3.32 /28 -- mượn 12 bit = 8 +4 ( 255.240 ) => S/M: 255.255.255.240

III . Ví dụ mẫu :
 Cho giải địa chỉ 172.35.0.0/16 , hãy Subnet để cấp cho các mạng con :
A: 320 host
B: 115 host
C: 80 host
D: 30 host
E: 2 host


Hướng dẫn giải:
- Theo đầu bài cho địa chỉ ban đầu là X: 172.35.0.0/16
=> đổi ra hệ nhị phân ta được:
10101100.00100011.00000000.00000000 
11111111.11111111.00000000.00000000
(Phần tô màu chính là phần bit host, việc chia từ địa chỉ trên thành nhiều Subnet chính
là việc biến đổi – hay gọi là mượn các bit phần host_id chuyển thành các bit Net_id; Nhìn
vào số bit 1 của địa chỉ Subnet Mask ta sẽ phân biệt được danh giới: các bit bên trên bit 1
chính là Net_id, các bit bên trên bit 0 là host_id)
- B1: Theo VLSM thì ta sẽ phải chia X cho các mạng theo chiều giảm dần, tức là chia
cho mạng có số host cao nhất rồi thấp nhất cuối cùng-> sắp xếp lại ta có:
+A: 320
+B:115
+C:80
+D:30
+E:2

- B2:
+Thực hiện chia X cho mạng A đầu tiên, áp dụng công thức: 2^n - 2 ≥ 320 => n=9
(chính là số bit còn lại chưa bị mượn)
=> số bit đã mượn là m= 32 (là tổng số bit của 1 địa chỉ IP v4) – 16 (số bit thuộc phần Net_id của địa chỉ đã cho) – 9 ( số bit còn lại) = 7
=> SM’ (Subnet Mask mới) = SM (Subnet Mask cũ) + m = 16 + 7 = 23 ( viết tắt là /23)
=> số Subnet ( mạng con ) được tạo ra là: 2^m = 2^7 = 128
với SM’ thay đổi từ /16 thành /23 (các bit trong khoảng này của X đã chuyển sang  Octet thứ 3) nên ta có:
- 101100.00100011.00000000.00000000
- 172.16. 0. 0
(bit màu đỏ  là 7 bit vừa mượn, việc sinh ra các Subnet con chính là dựa vào việc thay đổi vị trí và giá trị từ 0 thành 1 của những bit này)
Vậy các mạng con được sinh ra từ X là:
                                                        | Octet 3 |
Mạng X  1:   10101100.00100011.00000000.00000000 -> 172.35.0.0/23
Mạng X  2:   10101100.00100011.00000010.00000000 -> 172.35.2.0/23
Mạng X  3:   10101100.00100011.00000100.00000000 -> 172.35.4.0/23
……………… ………………….............................................................................
Mạng X127: 10101100.00100011.11111100.00000000 -> 172.35.252.0/23
Mạng X128: 10101100.00100011.11111110.00000000 -> 172.35.254.0/23
(chú ý, để ý ta thấy chỉ cần tính đến mạng thứ 3 trở đi là ta đã có thể tìm được bước nhảy
giữa 2 mạng liền kề là 2: lấy octet tương ứng của mạng sau trừ octet mạng trước)
=> lấy mạng con đầu tiên X1: 172.35.0.0/23 cấp cho mạng A: 320 host

+ Tiếp theo, lấy mạng X2 (là địa chỉ mạng lớn nhất tiếp theo) chia cho mạng B:115 host.
Tương tự trên, theo công thức: 2h - 2 ≥ 115 => h=7 => n = 32-23-7 = 2
=> SM’ (Subnet Mask mới) = SM (Subnet Mask cũ) + n = 23 +2 = 25 ( viết tắt là /25)
& số Subnet (mạng con) được tạo ra là: 2^n = 2^2 = 4
với SM thay đổi từ /23 thành /25 (các bit trong khoảng này của X2 liên quan đến cả Octet 3 và Octet thứ 4 ) nên ta có các mạng con mới sinh ra từ X2:
                                                           | Octet 3 |  | Octet 4 |
Mạng X21: 10101100.00100011.00000010.00000000 -> 172.35.2.0/25
Mạng X22: 10101100.00100011.00000010.10000000 -> 172.35.2.128/25
Mạng X23: 10101100.00100011.00000011.00000000 -> 172.35.3.0/25
Mạng X24: 10101100.00100011.00000011.10000000 -> 172.35.3.128/25
=> ta tính được số host trên mỗi subnet là 27 -2 = 126 host > 115 host mà mạng B yêu
cầu, có nghĩa là các mạng con này không những có thể cung cấp đủ cho mạng B mà còn
thừa ra một số host, ở đây theo VLSM ta lấy mạng X21: 172.35.2.0/25 cấp cho mạng B
(yêu cầu 115 host)
+ Tiếp theo, ta sử dụng mạng con X22: 172.35.2.128/25 để chia cho mạng C: 80 host
Tương tự trên, theo công thức: 2h - 2 ≥ 80 => h=7 => n = 32-25-7 = 0 (Vừa đẹp; khi giá
trị n=0 điều này chứng tỏ là mạng đang chia chỉ có thể cấp vừa đủ hoặc thừa một số ít địa
chỉ IP cho mạng có số host đang yêu cầu, ở đây là 115 host- chú ý: khi sử dụng VLSM
thì n sẽ không bao giờ nhận giá trị âm)
=> cấp luôn X22 cho mạng C: 80 host
+ Lúc này cần phải dùng đến giải địa chỉ X23 để chia cho mạng D: 30 host
Tương tự trên, theo công thức: 2h - 2 ≥ 30 => h=5 => n = 32-25-5 = 2
=> SM’ (Subnet Mask mới) = SM (Subnet Mask cũ) + n = 25 +2 = 27 ( viết tắt là /27)
& số Subnet (mạng con) được tạo ra là: 2^n = 2^2 = 4
với SM thay đổi từ /25 thành /27 (các bit trong khoảng này của X23 liên quan đến Octet thứ 4) nên ta có các mạng con mới sinh ra từ X23:
                                                                              | Octet 4 |
Mạng X231 : 10101100.00100011.00000011.00000000 => 172.35.3.0/27
Mạng X232 : 10101100.00100011.00000011.00100000 => 172.35.3.32/27
Mạng X233 : 10101100.00100011.00000011.01000000 =>172.35.3.64/27
Mạng X234 : 10101100.00100011.00000011.01100000 => 172.35.3.96/27

=> lấy X231: 172.35.3.0/27 cấp cho mạng D: 30 host
+ Lấy X232 chia cho các mạng E: 2 host, F: 2 host.
Tương tự trên, theo công thức: 2h - 2 ≥ 2 => h=2 => n = 32-27-2 = 3
=> SM’ (Subnet Mask mới) = SM (Subnet Mask cũ) + n = 27 +3 = 30 ( viết tắt là /30)
& số Subnet (mạng con) được tạo ra là: 2^n = 2^3 = 8
với SM thay đổi từ /27 thành /30 (các bit trong khoảng này của X232 liên quan đến Octet thứ 4) nên ta có các mạng con mới sinh ra từ X232 là:
                                                                              | Octet 4 |
Mạng X2321: 10101100.00100011.00000011.00100000 -> 172.35.3.32/30
Mạng X2322: 10101100.00100011.00000011.00100100 -> 172.35.3.36/30
Mạng X2323: 10101100.00100011.00000011.00101000 -> 172.35.3.40/30
.......................................................................................................................
Mạng X2327: 10101100.00100011.00000011.00111000 -> 172.35.3.56/30
Mạng X2328: 10101100.00100011.00000011.00111100 -> 172.35.3.60/30
=> lấy mạng Mạng X2321: 172.35.3.32/30 cấp cho mạng E: 2 host


KẾT LUẬN
- Sau khi cấp các địa chỉ mạng con cho các mạng A, B, C, D, E sẽ còn dư các
mạng chưa được sử dụng (để giành khi cần ta có thể sử dụng để cấp phát hoặc chia
nhỏ tiếp). Phương pháp VLSM này sẽ giúp ta kiểm soát được phần địa chỉ dư thừa
chưa được sử dụng.

Thứ Ba, 22 tháng 10, 2013

Lỗi không xem được Video trên WMP 12

Posted by Unknown Thứ Ba, tháng 10 22, 2013, under | No comments

Để xem nhiều định dạng video trên Windows Media Player 12 bạn tải cái "K- code Pack Full " này về, lúc cài nên chọn advance để tùy chỉnh nha

Link : http://www.mediafire.com/download/r9643cx7srjh0u3/K-Lite_Codec_Pack_995_Full.exe

Các lỗi thường gặp khi dùng IDM tải Video trên Youtube :
1 . Có tiếng không hình hoặc ngược lại:
   Đôi lúc tải video bằng IDM từ mạng về mà mở lên chỉ có tiếng hoặc chỉ có hình, ta cứ nghĩ chương trình phát video  ta bị lỗi nhưng khi tìm hiểu kỹ mới biết file tải về được chia làm 2 phần, một phần hình và một phần tiếng, mà khi tải về chỉ được một trong hai phần đó thôi. Có 2 cách giải quyết :

  C1  :  Để khắc phục điều này khi tải ta nhấp vào option -> chất lượng video -> tải cái nào có px cao -> ok
  C2  :
a .Bạn down bản IDM mới nhất về , cài đặt, khi vào xem video thì nó sẽ có hiển thị cái thanh download video.
b . Hiện youtube để video load nhanh thì chia file video tành 2 phần : tiếng vào hình, , và nếu download nó thì bạn ko thể xem được. Có một cách là bạn thêm "ss" link youtube.
(vd: http://www.youtube.com/watch?v=XsF1Do6ct…  sau khi thêm vào nó sẽ dạng: "http://ssyoutube.com/watch?v=XsF1Do6ctS… ) , bạn sẽ được chuyển tới 1 trang đại loại như : http://en.savefrom.net/......  sau đó chờ một thời gian nó sẽ hiển thị các loại chất lượng ở bên cột phải: 240, 360p, 720p... bạn chọn rồi click vào đó nó sẽ download video tương ứng về.

Hoặc bạn chọn độ HD cao nhất, rồi nhất vào nút load lại trang ,xong bạn nhấp vào IDM, chọn cái nào có dung lượng cao mà download.

2 . Không tự bắt link : có 2 cách ( IDM phải phiên bản mới nhất )
C1 .  Cách khắc phục  bạn có thể xóa tất cả định dạng nhận link: Download -> Options -> File types . Sau đó lựa chọn trình duyệt bạn đang sử dụng tích hợp IDM và tích hợp IDM vào trình duyệt : google chrome ->settings ->Extensions -> tích vào mục Enabled.
C2 .  Cách khắc phục  bạn có thể thêm định dạng nhận link: Download -> Options -> File types -> nhập định dạng vào khung "Automatically start downloadings ....."(ví dụ : dat, bov, flv , ... ) -> sau đó click vào mục "Edit list ..." -> thêm link chứa video cần download ( ví dụ : http://www.youtube.com/ )  -> .... -> ok.



Chủ Nhật, 20 tháng 10, 2013

Hack thời gian dùng Net ở tiệm dịch vụ Nét

Posted by Unknown Chủ Nhật, tháng 10 20, 2013, under | No comments

 Cách hack phần mềm tính tiền quán NET !!
By admin | Published: August 8, 2011
Bạn đi chơi Net mà không muốn tốn tiền
Và đây là những phầm mềm Hack tính tiền NET

PauseEasyCafe

Các bạn download phần mềm sau rồi giải nén. Muốn dừng ko tính tiền nữa các bạn chạy file pauseeaycafe, còn muốn cho nó chạy tiếp thì chay file resumeasycafe. Cách dùng rất đơn giản và có hiệu quả vì mình vẫn dùng ở quán gần nhà .

http://www.4shared.com/file/19034801…ew_Folder.html

Advanced Process Termination

Chương trình tính tiền bình thường như netcafe, Easycafe hoặc CMS thì có thể dùng chức năng Suspend của APT(Advanced Process Termination).

Download ở : www.diamondcs.com.au/

APT 4.0 : (có cả icon của các process)

Download www.diamondcs.com.au/downloads/apt.zip

Chức năng suspend của apt có thể làm treo process tạm thời và có thể khôi phục bằng chức năng resume (cũng của apt luôn).Ngoài chức năng suspend và resume thì nó còn có 12 cách kill và 2 cách crash để hủy các process. F5 để refesh list.. Tui đã thử trình này với netcafe và kq tốt (đi du lịch -> ra net -> tại sao ko ăn gian 1 tí – bà chủ có biết mình là ai đâu) cũng đã thử với Easycafe (quán đó tính tiền đểu) còn CMS thì chưa thử nhưng theo tui thì bất cứ trình tính tiền nào cũng dựa trên client của máy chỉ cần vô hiệu hóa nó là được.

Nhớ đừng lạm dụng quá đó nhé.
Công An mà hỏi đừng chỉ tui đóTất cả mình đả test, Link vẫn tốt

Còn cái này là mình hay xài nhất

Dùng ProcessExplorer để hack time tiệm Net (dùng đc đối với tất cả cácphần mềm tính tiền hiện đang sử dụng tại Việt Nam, trừ bản tính tiềncủa năm 3000 ).

Cũng giống như trên, chạy ProcessExplorer, trong giao diện hệ thống cácPác tìm chương trình tính tiền đang hoạt động trong máy và dừng nó (kocho nó hoạt động chứ ko giết nó, tức là đóng băng nó), thường thì cáctiệm Net xài phần mềm tính tiền CSM, Easy cafe, Net cafe,… và một số phầm mềm do dân IT viết.

Tìm ra nó rồi việc đơn giản là đóng băng nó lại: chỉ cần chọn vào nó,nhấn chuột phải chọn Suspend. Muốn nó hoạt động bình thường thì nhấp vào chọn Resume.

Sau khi em post bài này các Pác quản lý tiệm Net chú ý dùm 1 điều: khi máy sever nhận thấy máy client Disconnect thì phải tìm hỉu xem máy đó khởi động lại hay lỗi chương trình tính tiền nha, cũng có khi do chươngtrình quá pro mà em giới thiệu làm đóa

Bài viết mang tính học hỏi với tiêu chí: có virus chắc chắn cóAntivirus , núi này cao còn có núi khác cao hơn (Hình như cái đỉnhEVEREST là cao nhất thì phải )

Thấy hay Thanks vài cái cho có tinh thần Post tiếp nha các Pác

link download : http://www.mediafire.com/?zy5mizzm2fw

Cách đặt địa chỉ MAC Wifi

Posted by Unknown Chủ Nhật, tháng 10 20, 2013, under | No comments

Ngày nay các kết nối dùng mạng không dây ngày càng phổ biến, nhất là wifi. Nạn sử dụng trái phép hay còn gọi là sử dụng chùa ngày càng nhiều gây ảnh hưởng đến tốc độ truy cập mạng của các bạn (làm chậm mạng). Chính vì vậy mà Cần Thơ IT sẽ chia sẽ một chút kinh nghiệm giúp các bạn có thể quản lý mạng wifi của mình tốt hơn.

Hướng dẫn trong bài viết này thích hợp để áp dụng cho những bạn đang có quyền quản lý mạng hay nói cách khác là người có quyền truy cập và thay đổi cấu hình trong modem của mạng wifi tại gia đình, mạng wifi chia sẽ nhà trọ (sinh viên, học sinh đóng tiền sài chung 1 mạng, chứ hong phải nhà nghỉ đâu nha các bạn hehe). Các cách này đều có thể thực hiện được trên các router tích hợp bộ phát wifi mà nhà mạng lắp đặt cho bạn hiện giờ (TP-Link, Linksys, COMTREND) hoặc bộ phát wifi riêng biệt (modem không có chức năng phát wifi nhưng mua thêm bộ phát wifi về gắn vô còn gọi là Wirelesss Access Point).

Như mình đã nói ở trên là để thực hiện được hướng dẫn thì bạn phải truy cập được vô phần quản lý của modem nên bạn cần có một 1 cái máy tính có thể kết nối với modem bằng tài khoản có quyền admin. Nếu modem mới hoàn toàn thì bạn cần phải kết nối bằng cáp mạng vì lúc này modem chưa được cấu hình để kết nối Wifi. Nếu modem đã truy cập bằng Wifi được rồi thì bạn có thể truy cập vào modem thông qua kết nối Wifi luôn.
Cụ thể hơn là bạn truy cập vào modem bằng cách gõ vào thanh địa chỉ trong trình duyệt web dãy số là địa chỉ của modem hay bộ phát wifi thường là: 192.168.1.1, sau đó bạn đăng nhập bằng tài khoản (ID or Username) và mật khẩu (Password) để truy cập vô phần quản lý của modem. ID và password mặc định thường có thể xem trong sách hướng dẫn sử dụng hoặc ở mặt dưới của modem, nếu tài khoản đã được đổi mật khẩu thì bạn cũng cần phải nhớ mật khẩu này hoặc hỏi người đã đổi. Nếu không nhớ nửa thì chỉ còn cách reset lại mật khẩu bằng nút reset trên modem để nó trở về mật khẩu mặc định (thông tin thêm bạn có thể tìm hiểu trên google).

Vào vấn đề chính, mình sẽ hướng dẫn cách thứ nhất là cách đặt mật khẩu cho mạng WIFI, cách này làm cho có  hình thức thôi chứ không thể ngăn người truy cập chùa, vì chỉ cần 1 người thứ 2 biết mật khẩu thôi thì đã không an toàn, đổi mật khẩu hoài thì lại mắc công.
1. Đặt mật khẩu cho wifi

Đây là việc phải làm nếu bạn đang sử dụng mạng wifi tại nhà và chỉ chia sẽ với người thân trong gia đình để sử dụng. Không nên quan niệm rằng là wifi gia đình, trả tiền gói cước chọn gói theo tháng, hay vùng phát sóng yếu mà không có ai sử dụng. Mặc định các nhà mạng tại Việt Nam khi lắp đặt router wifi cho khách hàng thường để channel là 6, tầm phát sóng có thể lên tới 40m. Vậy thì gần như hàng xóm của bạn có thể kết nối được rồi. Và đừng hỏi tại sao mạng nhà mình thường xuyên chậm nhé, đơn giản là vì quá nhiều người đang xài chùa wifi của bạn đó.

Cách cài đặt mật khẩu cho wifi khá đơn giản, khi nhân viên đang lắp đặt, bạn có thể yêu cầu họ cài đặt dùm. Nếu chưa thì bạn làm theo các cách sau nhé:
Hướng dẫn mẫu trong bài này được thực hiện trên modem TP-Link

Truy cập địa chỉ: http://192.168.1.1, tất cả các cách sau đây đều cần truy cập vào để cấu hình, bạn đừng quên địa chỉ này nhé. Trang sẽ yêu cầu mật khẩu, thường mặc định sẽ là admin/admin, admin/123456, root/admin. 

Sau khi đăng nhập, bạn vào Interface Setup > Wireless

Tại đây có phần Authentication Type, bạn đổi thành WPA2-PSK. Sau đó tại phần Pre-Shared Key, bạn nhập password mà bạn cần cài đặt. Bấm Save để lưu lại. (Cách đổi mật khẩu cũng tương tự). Vậy là wifi nhà bạn đã được tăng cường bảo mật rồi đó hehe. Chỉ một số bước đơn giản mà bạn đã có thể ngăn một số kẻ tò mò rồi.

Ưu: Thực hiện đơn giản, an toàn nếu bạn chỉ dùng 1 mình hoặc trong gia đình (không lộ mật khẩu).
Nhược: Bất tiện và không hiệu quả nếu là mạng dùng chung cho nhiều người ở phòng trọ, phòng làm việc,... lỡ lộ hàng (mật khẩu) thì rất dễ bị xài chùa, lại phải đổi lại và thông báo lại cho nhiều người biết (có thể lập lại n lần việc này =.=).
Vì thể để an toàn hơn và kiểm soát chặt chẽ hơn việc truy cập mạng bạn cần phải coi hướng dẫn bên dưới nhé.

2. Quản lý máy truy cập dự trên địa chỉ MAC

Đây là cách nâng cao, bảo mật tốt hơn so với cách đặt mật khẩu rất nhiều (có thể gọi là bảo mật 2 lớp he). Áp dụng cách này xong bạn chỉ cần đặt mật khẩu 123456789 hoặc bất cứ gì cũng được, không sợ lộ, cũng không sợ truy cập chùa. Vì có biết mật khẩu và nằm trong tầm phủ sóng wifi nhưng địa chỉ MAC không được thêm vô danh sách cho phép sử dụng thì họ cũng không thể kết nối vô wifi.

Cách này cài đặt cũng thật đơn giản nhưng bạn phải tốn thêm công lấy địa chỉ MAC của từng thiết bị được bạn cho phép sử dụng wifi.
Cách lấy địa chỉ MAC (MAC address) làm như sau nhé:
- Trên máy tính:
1. Ấn tổ hợp phím Windows + R, gõ cmd vào ô và bấm Enter.
2. Gõ ipconfig/all bấm Enter để hiện thị thông tin về các card mạng và kết nối mạng


3. Cuộn và tìm dòng Physical Address của Card mạng có thể là Wireless LAN adapter Wi-Fi (Windows 8) hay Wireless LAN adapter Wireless Network Connection : Sau đó bạn copy địa chỉ này lại nhé. Như máy của mình có MAC là C8-3A-35-CF-74-3F
Tìm địa chỉ MAC của các thiết bị di dộng: điện thoại, máy tính bảng,..
+ Android, các bạn vào Cài đặt > Thông tin điện thoại > Trạng thái (thông tin)
+ iPhone, các bạn vào Settings > General > About
+ BlackBerry, các bạn vào Options > Status > WLAN MAC


Trích dẫn
Lưu ý: Có 2 cách nhập địa chỉ MAC là: C8-3A-35-CF-74-3F và C8:3A:35:CF:74:3F tùy theo modem bạn đang sử dụng mà bạn nhập địa chỉ MAC theo dạng - hay :
Nhớ lưu lại danh sách MAC address mà bạn đã lấy để tiện quản lý vì còn biết địa chỉ MAC nào là của máy nào khi cần.

4. Cũng vào địa chỉ http://192.168.1.1, sau khi đăng nhập, bạn vào Interface Setup > Wireless (với modem TP-Link)



Chọn Activated (kích hoạt tính năng lọc MAC) ở mục Active, chọn Allow Association (cho phép các máy có MAC trong danh sách được thêm truy cập mạng) ở mục Action, paste địa chỉ vừa copy phía trên vào ô tương ứng còn trống (Trong hình minh họa của modem này có thể thêm được 8 thiết bị khác nhau vì có 8 dòng Mac Address #1 đến #8). Kiểm tra một lần nữa và ấn Save để lưu lại thiết lập.

Nếu khi cần cho người ngoài sử dụng mạng trong thời gian ngắn bạn có thể vào lại phần thiết lập này và chọn Deactive để tạm thời vô hiệu tính năng lọc MAC của modem để người đó chỉ cần nhập mật khẩu là có thể truy cập được mạng mà không cần phải thêm địa chỉ MAC của người đó vô danh sách. Khi người đó không sử dụng nửa bạn chọn lại Active để kích hoạt lại tính năng lọc MAC.   

Ưu: Cực kì bảo mật, cho dù có biết mật khẩu cũng không kết nối được.
Nhược: Tốn thêm thời gian cài đặt. Phải tìm đúng địa chỉ MAC của các thiết bị muốn cho kết nối để thêm vào danh sách cài đặt.

Như vậy đọc tới đây bạn sẽ thấy việc đặt mật khẩu cho mạng WIFI là cần thiết nhưng nó chưa đủ kiểm soát tốt mạng WIFI của bạn khỏi việc truy cập trái phép, cách quản lý theo địa chỉ MAC là an toàn hơn. Nhưng còn tùy vào mục đích sử dụng mạng của bạn là cá nhân hay công cộng nửa chứ không phải lúc nào bạn cũng cần phải đặt mật khẩu cho wifi hay kiểm soát địa chỉ MAC.

Nếu bạn có cách hay hơn? Hoặc cần góp ý bổ sung để bài viết hoàn chỉnh hơn vì có quá nhiều loại modem và hãng khác nhau nên không thể hướng dẫn chi tiết với từng loại được. Hãy bình luận để chia sẽ cho Cần Thơ IT và các bạn khác cùng biết nhé. Cám ơn các bạn đã đọc bài viết này.

Link : Cấu hình MAC Router TP-Link http://www.tp-link.vn/article/?id=154

Lọc địa chỉ MAC Wifi

Posted by Unknown Chủ Nhật, tháng 10 20, 2013, under | No comments

Để tăng cường khả năng bảo mật cho mạng Wi-Fi, ngoài việc sử dụng các chế độ mã hóa, xác thực, ẩn tên mạng... thì người dùng nên kết hợp thêm tính năng lọc địa chỉ MAC.
MẠNG


Trước khi nền công nghiệp Wi-Fi giải quyết được những vấn đề và thiếu sót của WEP (wireless encryption protocol) - công nghệ bảo mật bằng mã hóa, nhiều chuyên gia khuyến cáo sử dụng thêm cơ chế lọc địa chỉ MAC nhằm tăng cường bảo mật.

Mỗi thiết bị Wi-Fi được gán duy nhất một địa chỉ MAC (Media Access Control) gồm 12 chữ số thập lục phân. Địa chỉ MAC là phần “ngầm” của thiết bị phần cứng và được gửi tự động tới điểm truy cập Wi-Fi mỗi khi thiết bị kết nối vào mạng.

Sử dụng trình quản lý cấu hình của điểm truy cập (Access Point - AP), bạn có thể lập được một danh sách thiết bị an toàn (được phép truy xuất vào mạng) hay danh sách thiết bị không được phép truy xuất vào mạng (black list – danh sách đen). Nếu bộ lọc địa chỉ MAC được kích hoạt, AP chỉ cho phép các thiết bị trong danh sách an toàn được kết nối vào mạng và cấm tất cả thiết bị trong danh sách đen truy xuất vào mạng, ngay cả khi bạn có khóa kết nối, bất kể bạn đang sử dụng giao thức kết nối nào.

Với sự xuất hiện của các giao thức mã hóa tin cậy, trong đó mạnh nhất là WPA2 (Wi-Fi Protected Access II), chúng ta ít nghe nói đến lọc địa chỉ MAC hơn. Tuy nhiên, tin tặc (hacker) cũng đã tìm ra cách để tấn công giao thức này, bằng cách giả mạo địa chỉ của thiết bị kết nối hay giả mạo là một trong số các thiết bị này.

Bảo mật nhiều lớp

Theo Jacob Sharony, chuyên viên tư vấn chính và cũng là chủ tịch của Mobius Consulting, công ty tư vấn về không dây tại New York cho rằng lọc địa chỉ MAC là chưa đủ. Sharony cho rằng một chiến lược bảo mật tốt phải được xây dựng trên nhiều lớp. Trong hầu hết trường hợp, bạn không nên chỉ sử dụng bộ lọc địa chỉ MAC – chỉ một giải pháp này sẽ không đủ để ngăn chặn các hacker tinh vi – mà nên sử dụng kết hợp với những lớp bảo mật khác. Có những tình huống phù hợp để sử dụng bộ lọc địa chỉ MAC, đó là, trong trường hợp nỗ lực đầu tư thêm cho bảo mật mà không đủ đáp ứng.

Sử dụng địa chỉ MAC?

Để thiết lập bộ lọc MAC, bạn cần lập danh sách địa chỉ MAC cho các thiết bị có nhu cầu kết nối vào mạng. Mỗi lần muốn thêm hay xóa một thiết bị, bạn phải đăng nhập vào trình quản lý cấu hình của AP. (AP cấp doanh nghiệp có thể cho phép thực hiện việc này bằng câu lệnh).

Trong hầu hết bộ định tuyến (router) dành cho doanh nghiệp nhỏ/người dùng gia đình mà nhiều công ty đang sử dụng, bạn mở trình trình duyệt và nhập địa chỉ IP của router (xem thêm trong tài liệu hướng dẫn sử dụng, thường là: 192.168.0.1 hay 192.168.1.1) vào thanh địa chỉ của trình duyệt.

Lúc đó, màn hình trình duyệt quản lý thiết bị sẽ yêu cầu bạn nhập tài khoản đăng nhập (ID và mật khẩu) – xem tài khoản đăng nhập mặc định trong tài liệu hướng dẫn đi kèm thiết bị. Sau khi đăng nhập thành công, để an toàn, bạn nên thay đổi ngay tài khoản đăng nhập mặc định. Sau đó, bạn tìm phần thiết lập nâng cao cho mạng không dây và chọn phần "MAC filtering" hay "Access list" hay một số tên gọi khác (tùy hãng mà sẽ có tên gọi khác nhau, bạn nên xem trước trong tài liệu hướng dẫn đi kèm sản phẩm để biết rõ hơn).

Cách lọc địa chỉ MAC

Nếu bạn cần thêm một thiết bị mới vào hệ thống, bạn cần phải biết địa chỉ của thiết bị này trước. Địa chỉ này thường được in ngay trên mặt ngoài của sản phẩm, nhưng cũng có ngoại lệ. Trong một số sản phẩm như điện thoại di động, địa chỉ MAC có thể tìm thấy thông qua phần mềm của điện thoại, nhưng có một số sản phẩm, việc tìm thấy địa chỉ MAC rất khó khăn.

Phương án cuối cùng có thể thực hiện là bạn có thể tạm thời tắt tính năng lọc địa chỉ MAC, cho phép thiết bị mới kết nối vào, và lấy địa chỉ MAC của thiết bị này từ danh sách thiết bị kết nối trong trình quản lý truy cập của AP.
Để thêm một địa chỉ MAC của thiết bị mới vào mạng Wi-Fi, bạn đăng nhập vào trình quản lý thiết bị, mở mục Wireless MAC Filter và nhập địa chỉ MAC của thiết bị đó vào. Trước đó, bạn nên kích hoạt (Enabled) chức năng Wireless MAC Filter và chọn chế độ tạo danh sách đen hay danh sách an toàn.

Thực tế cho thấy, nếu bạn là người quản lý mạng không dây và biết địa chỉ MAC của thiết bị đang kết nối vào mạng và các máy này truy cập mạng thường xuyên thì lọc địa chỉ MAC là một lớp bảo mật dễ triển khai.

 
Khi nào không dùng lọc MAC?

Nếu môi trường mạng không dây của bạn thường xuyên thay đổi, các thiết bị mới kết nối và ngắt kết nối liên tục, hay bạn đang quản lý một hệ thống mạng doanh nghiệp lớn với hàng ngàn, thậm chí chục ngàn thiết bị, việc duy trì và cập nhật liên tục bảng địa chỉ MAC khá khó khăn nên khó mang lại kết quả như mong muốn.

Có nhiều chức năng trên router Wi-Fi/AP có thể hỗ trợ thực hiện việc này dễ dàng hơn, chẳng hạn chức năng WPS (Wi-Fi Protected Setup), cho phép người quản trị mạng dễ dàng thêm thiết bị mới vào mạng cũng như tự động thêm địa chỉ MAC vào danh sách.

Có những trường hợp hệ thống mạng quá nhỏ và chưa đến lúc phải sử dụng cách bộ lọc địa chỉ MAC, nhưng đôi khi nhà/văn phòng có thêm các máy khách muốn truy cập vào mạng – sử dụng thiết bị của họ để truy cập.
Để giải quyết tình huống này, nhiều AP mới cho phép bạn thiết lập mạng thứ hai hoàn toàn tách biệt với mạng chính (chẳng hạn tính năng Guest Access trên các router Wi-Fi dòng E của hãng Cisco Linksys), một tên mạng Wi-Fi (SSID - service set identifier) khác dành riêng cho máy khách. Mạng chính sẽ được bảo vệ bằng cách kết hợp mã hóa và bộ lọc địa chỉ MAC, trong khi mạng thứ hai vẫn mở để cho khách truy cập Internet bình thường.

Lọc MAC có thay mã hóa?

Liệu có những tình huống để bạn chỉ sử dụng phương pháp bộ lọc địa chỉ MAC?

Có ý kiến cho rằng không có trường hợp này, phải sử dụng mã hóa. Vì quá nhiều giao thức và chương trình (trên web) không được mã hóa, trong đó có nhiều công cụ bắt gói tin không dây (cho hacker) cho tải miễn phí nên mã hóa mạng không dây có ý nghĩa quan trọng.

Một ý kiến khác cho rằng, phương pháp bảo mật chỉ sử dụng bộ lọc địa chỉ MAC chỉ phù hợp khi sử dụng một điểm truy cập cá nhân, chẳng hạn với MiFi của Novatel Wireless – bộ sản phẩm sử dụng trên xe hơi, thường dành cho các thành viên trong gia đình hay các đồng nghiệp truy cập. Với cách này, bạn có thể sử dụng kết hợp giữa bộ lọc MAC và mã hóa hay không cần mã hóa. Vì thỉnh thoảng, việc mã hóa sẽ trở nên nặng nề do yêu cầu người dùng biết khóa truy cập.

Dùng danh sách đen hay danh sách an toàn?

Thông thường, người dùng muốn sử dụng bộ lọc địa chỉ MAC chỉ cho phép những thiết bị đã xác định kết nối – danh sách an toàn. Nhưng cũng sẽ có những trường hợp người dùng muốn tạo danh sách đen – danh sách người dùng không được phép kết nối vào mạng của bạn.

Nếu bạn muốn đảm bảo một số thiết bị không kết nối được vào mạng của bạn, ví vụ như máy tính cá nhân/điện thoại di động của các nhân viên đã nghỉ việc; các thiết bị được xác định là có liên quan với các cuộc tấn công từ chối dịch vụ trong quá khứ hay người hàng xóm mà bạn nghi ngờ đang tìm cách tấn công mạng của bạn để truy cập internet, bạn nên chọn thiết lập danh sách trắng.

"Nếu nhà/văn phòng của bạn có thiết lập hẳn mạng Wi-Fi mở (không sử dụng bảo mật như mã hóa và lọc địa chỉ MAC) dành cho khách hàng của bạn truy cập thì cũng có ý kiến đề nghị rằng, bạn nên đưa tất cả máy tính của nhà/văn phòng vào danh sách đen của mạng này, như vậy các máy tính chứa dữ liệu quan trọng của bạn không "bị tình cờ" kết nối vào mạng và có thể bị đánh cắp dữ liệu quan trọng."

"Một số chuyên gia cho rằng, trong một số trường hợp, quản trị mạng có thể khóa tất cả thiết bị (của nhiều nhà sản xuất khác nhau) đang kết nối vào mạng dựa trên các cặp ký tự đầu tiên trong địa chỉ MAC (tuy nhiên, cách này bạn bạn thông hiểu nhiều chi tiết kỹ thuật, quản trị, vì thế hy vọng chúng tôi sẽ có bài trình bày riêng trong thời gian tới)."

Lọc địa chỉ MAC là một tính năng bổ sung hữu ích cho mã hóa, nhưng bạn cũng nên nhớ rằng tính năng này cũng có thể bị đe dọa dù sử dụng kèm với các phương thức mã hóa tốt nhất.

Tham khảo Test Lab PC World Việt Nam Wi-Fi Planet

“Kế sách” giao dịch trực tuyến an toàn


Thông thường, địa chỉ website ngân hàng thường bắt đầu bằng “https” thay vì “http”.
Không có gì bảo đảm tội phạm sẽ từ bỏ ý định thâm nhập vào tài khoản ngân hàng trực tuyến của bạn. Hãy tuân thủ tối đa 6 lưu ý sau để đảm bảo rằng bạn luôn an toàn mỗi khi giao dịch qua mạng.

1. Cài đặt phần mềm an ninh hiệu quả: Đây là công cụ không thể thiếu với hầu hết nguời dùng thường xuyên duyệt web nói chung và sử dụng các giao dịch ngân hàng trực tuyến. Bạn nên định kỳ cập nhật phiên bản mới cho phần mềm “gác cổng” hệ thống này, nếu được hãy thiết lập tính năng tự động cập nhật. Bằng cách này, hệ thống của bạn sẽ nhạy bén hơn trong việc phát hiện và ngăn chặn các hiểm họa bảo mật.

2. Cảnh giác với email: Một số người có thể không quan tâm đến vấn đề này, song đây là nơi tin tặc thường tấn công nhất. Vài ngân hàng có thói quen định kỳ hàng tháng gửi email cho khách hàng bản sao kê giao dịch, tuy nhiên bạn không nên nhấn chuột vào liên kết mà email đó cung cấp. Thay vào đó, hãy mở trình duyệt và truy cập thẳng vào website của ngân hàng để tham khảo các thông tin tương tự.

3. Không đăng nhập vào trang web không bảo mật: Hãy đảm bảo rằng website của ngân hàng mà bạn đang sử dụng được bảo mật trước khi nhập vào mật khẩu tài khoản. Địa chỉ URL của website ngân hàng phải bắt đầu với từ “https” chứ không phải là “http” như thường thấy. Khác với trình duyệt IE của Microsoft, cả Firefox lẫn Chrome đều đánh dấu nhãn màu xanh ở đầu dòng địa chỉ nếu trang web đó thuộc dạng an toàn.

4.Sử dụng mật khẩu “mạnh”: Một mật khẩu được xem là tốt nhất nếu kết hợp ngẫu nhiên ký tự và chữ số. Bạn nên tránh sử dụng mật khẩu có nội dung liên quan đến tên, ngày sinh hay bất kỳ từ nào có nghĩa mà tin tặc có thể suy đoán được. Nếu trình duyệt hỏi bạn có muốn lưu lại mật khẩu không, thì đừng ngần ngại chọn KHÔNG. Cạnh đó, đừng bao giờ sử dụng cùng một mật khẩu cho 2 trang web hay dịch vụ. Còn nếu bạn cho rằng không thể nhớ tất cả mật khẩu mà mình đang sử dụng, hãy nghĩ đến một tiện ích quản lý và mã hoá mật khẩu.

5.Tránh xa mạng công cộng: Hãy đặt cho mình thói quen không truy cập vào website ngân hàng, công ty thẻ tín dụng hay thực hiện bất kỳ giao dịch trực tuyến nào từ một mạng Wi-Fi công cộng (như ở quán café, nhà ga, sân bay,…). Với nhu cầu dạng này, bạn nên sử dụng mạng tại nhà hoặc trong công ty. 

Thứ Sáu, 18 tháng 10, 2013

Cách kích hoặt Windows 32 bit nhận 4G ram

Posted by Unknown Thứ Sáu, tháng 10 18, 2013, under | No comments

Bạn muốn hiện đủ 4G Ram thì CPU bạn phải hỗ trợ nền tản 64 bit.
Thực hiện để hiện đủ 4Gb Ram trên windows 32 bit :
I. Dùng lệnh :
1. Chạy CMD với quyền admin
2. Trong CMD gõ lệnh sau : BCDEdit /v , sau đó Enter.
3. Bạn sẽ thấy đầy đủ các thông tin về Boot Loader của Windows , tìm đến dòng Windows Boot Loader > indentifier,nhấn phải chuột và chọn lệnh Mark (lệnh này giúp chúng ta đặt được con trỏ vào CMD).
4. Tô đen các tham số ở dòng này và chọn Copy (dãy số ở dòng này có dạng {xxx-xx-xxx-xxx-xx}).
5. Gõ thêm dòng lệnh sau BCDEdit /set {xxx-xx-xxx-xxx-xx} PAE ForceEnable, với {xxx-xx-xxx-xxx-xx} là dãy thông số có được từ lệnh BCDEdit /v ở trên, rồi Enter. Để việc sao chép được chính xác, bạn có thể nhấn phải vào khung nhập liệu và chọn lệnh Paste.
6. Khi có dòng thông báo xuất hiện The operation completed successfully nghĩa là đã thành công, bạn cho máy khởi động lại và bật Task Manager để kiểm tra.

II. Dùng phần mềm :
A. Windows 7, 8 :( đã test )
1. Download pm sau và cài theo hướng dẫn hình nha !
https://drive.google.com/file/d/0B6JhErFMAx7sVUxPekVEdHY3emc/edit?usp=sharing

Windows 8.1: ( chưa test )
https://drive.google.com/file/d/0B6JhErFMAx7sOFZ4c2QwR1ZVQWs/edit?usp=sharing

2. Sau khi cài xong như hình 1 và 2 thì khỏi động lại máy:



3. Kết quả sau khi khởi động lại máy :




4. Để mỗi làn khởi động, windows nhận đủ 4 G ram, bạn phải set mặc định , thực hiện như sau :
- Phải chuột Computer > properties > Advanced system settings
- Tại hộp thoại System Properties > Adanced \ Stat-up and recovery > settings.
- Tại system start-up:
+ Default OS chọn cái loader của phần mềm đó. Bỏ dấu tích ở Time to display list of operation systems > Ok > Ok ( Ở đây bạn có thể set timeout = 0 hoặc bỏ luôn dấu tích ).


B. Windows 8.1: ( chưa test )
1. Các bạn download pm tại địa chỉ sau :
https://drive.google.com/file/d/0B6JhErFMAx7sOFZ4c2QwR1ZVQWs/edit?usp=sharing
2. Cài đặt : giải nén file tải về ở trên, copy toàn bộ thư mục giải nén vào ổ đĩa chứa HDH , chạy file "PatchPae2.exe " với quyền admin, đợi tí, sau khi dòn thông báo thành công, bạn reset lại máy.
3. Kiểm tra Task Manager xem có nhận đủ 4 Gb ram không.
4. Set mặc định HDH nhận 4 Gb Ram sau mỗi lần khởi động :
- Phải chuột Computer > properties > Advanced system settings
- Tại hộp thoại System Properties > Adanced \ Stat-up and recovery > settings.
- Tại system start-up:
+ Default OS chọn cái loader của phần mềm đó. Bỏ dấu tích ở Time to display list of operation systems > Ok > Ok ( Ở đây bạn có thể set timeout = 0 hoặc bỏ luôn dấu tích ).

Thứ Tư, 16 tháng 10, 2013

Cách khắc phục một số lỗi LAN, WIFI thường gặp

Posted by Unknown Thứ Tư, tháng 10 16, 2013, under | 1 comment


Bài này mình sẽ hướng dẫn các bạn fix lỗi  không kết nối được internet 


I. Cấu hình IP tĩnh :

Nguyên nhân xảy ra sự cố là do modem không đủ khả năng xử lý , bị tác động của "Heroes Keyboard " làm cho firmware bị lỗi, thằng cha nội admin nó giới hạn hay vô tình nó chỉnh thông số giới hạn số máy kết nối vào modem mà chả không hay biết . Do đó modem chỉ cấp phát động IP Address cho một số máy tính thôi, số còn lại thì tèo( theo lý thuyết thì máy không tự cấp phát IP động thì phải cấp phát tĩnh : ))  ) .  Để khác phục trình trạng này thì ta tiến hành cấu hình IP tĩnh cho máy tính . Các bước thực hiện như sau :
1. Chạy CMD với quyền Admin :
Hình mình minh họa là ở Windows 8.1
2. Tại cửa sổ dòng lệnh gõ lệnh : ipconfig ( hoặc ipconfig /all )
Lệnh này cho biết một số thông tin kết nối, giúp ta tìm " Default Gateway " để cấu hình IP tĩnh cho PC của chúng ta .

3. Cấu hình IP tĩnh :

II. Kiểm tra modem/router , đường truyền :

Modem/router : không qua nóng, không có tiếng kiêu " cách cách" khi hoạt động thì modem/router còn dùng được.
Đường truyền : nếu cấm dây vào 2 đầu rồi mà đèn tín hiệu không cháy, gạch chéo ở biểu tượng kết nối thì dây bị đứt, đầu cấp bị bẩn, không tiếp xúc tốt ( đèn tín hiệu cháy " nhấp nhái " theo nhịp truyền dữ liệu, dữ liệu truyền nhiều thì nhái nhanh, ít thì nhái chậm . Khi đèn tín nhái theo kiểu " 2 nhịp liên tục, cách khoảng một nhịp " thì không có mạng internet ) .
Bạn cũng có thể sử dụng lệnh "ping" để kiểm tra
VD: Hình dưới cho thấy 2 lệnh ping đầu có kết nối internet, lệnh ping thứ 3 không có kết nối internet

Ngoài ra chúng ta cũng có thể sửa dụng lệnh "tracert " để kiểm tra có kết nối internet hay không .Như chúng ta đã biết, để kết nối internet thì máy tính ta phải kết nối được với modem -> mạng internet . Tracert là lệnh tìm đường đi từ máy dùng lệnh đến địa chỉ đích . Lệnh này còn cho biết máy ta dùng để ra ngoài mạng internet thì phải đi qua bao thiết bị, tốc độ truyền dữ liệu .
VD : tracert 192.168.0.1
        tracert www.google.com.vn
        tracert www.google.com


III. Router phát Wifi bị trùng IP, trùng kênh phát:
Trường hợp này hay xảy ra khi :
1. Bạn cấu hình router wifi của bạn có IP trùng IP modem thì wifi tèo: login router wifi -> thay đổi IP 
2. Nơi phát wifi có nhiều thiết bị phát wifi khác dẫn đến trùng kênh phát: login router wifi -> thay đổi kênh phát.
* wifi có màu xám, có dấu sao : đối với windows 8, 8.1 bạn nên nâng tầng bảo mật của modem/router wifi lên .

IV. Driver máy :
Do máy bạn thiếu driver, bị lỗi driver.
Vào "Device Manager" để kiểm tra: 
 1. có dấu than: chưa có driver -> cài driver.
 2. có dấu mũi tên hướng xuống : Disable - > Enable.
* Cách cài driver : tải driver từ homepage của máy, giải nến ra thư mục nào đó trên máy, vào "Device Manager"-> chọn card mạng -> nhấp phải-> update .... -> chọn " Drowes my computer .."  -> chọn thư mục chứa driver giải nén driver .



V. Modem chọn chế độ " MAC" :

Bạn phải có quyền quarn trị Modem/ router mới đăng nhập vào, add MAC cho máy bạn .
* Nhiều người hiện nay không hiểu rõ về điạ chỉ MAC, để rồi dẫn đến lạm dụng. Có người hỏi tui rằng " Sao modem tao quản lý MAC rồi mà vẫn có đứa dùng chùa ? Nó biết hack ah ? " . Trường hợp này không hack gì đâu bạn ah. MAC chỉ hiệu quả khi nó là thiết bị phát cuối cùng, nghĩa là nó và máy tính giao tiếp nhau không có thiết bị trung gian. Trường hợp vượt MAC phổ biến khi mà có thiết bị trung gian khác như router wifi. Khi này bạn Add MAC của router wifi  thì nó không kiểu soát được những thiết bị kết nối thông qua router wifi .

VI. Hiện tượng thoắt cổ chay modem :

Hiện tượng này gây ra trình trạng : vẫn kết nối được internet nhưng tốc độ cực kỳ chậm, hầu như không thể truy cập được internet . Hiện nay theo mình biết thì ít xảy ra, và nếu xảy ra thì nhà mạng cũng bó tay vì không hiểu nguyên nhân -> kiểm tra từa lưa hột vịt -> vứt modem  : )) . 
Nguyên nhân phần lớn do có sự can thiệp phần mềm , hay cao nhân nào am hiểu về firmware thiết bị  .... làm cho " Firmware " đều khiển modem bị lỗi .
Cách khắc phục :
a. Nếu trước khi xảy ra sự cố, bạn có sao lưu cấu hình modem thì khôi phục lại
b. Nâng cấp firmware cho router. Nâng cấp lên phiên bản firmware mới nhất từ nhà sản xuất. Cách làm như sau: Truy cập trang cấu hình router, thường có địa chỉ: http://192.168.0.1,http://192.168.1.1, http://192.168.11.1, ...  . Lưu ý rằng có thể một số nhà sản xuất sử dụng các địa chỉ khác cho trang cấu hình, như Buffalo sử dụng dãy, 192.168.11.1, hay với router Linksys là http://192.168.2.1. Tại đây, bạn kiểm tra phiên bản firmware hiện tại, ghi lại tên firmware đó ra giấy hoặc để mở tab trang cấu hình sau đó truy cập vào website của nhà sản xuất router. Ví dụ như router của Linksys cung cấp sẽ có địa chỉ website là www.linksys.com (việc tìm kiếm đơn giản chỉ bằng cách Google tên nhà sản xuất). Bạn mở trang hỗ trợ trên website, tìm model router mình đang sử dụng sau đó tìm sang trang download. Nếu phiên bản firmware của router cũ hơn phiên bản firmware trên trang download này, bạn hãy tải về bản firmware từ website nhà sản xuất và tiến hành nâng cấp theo hướng dẫn.
* Lưu ý rằng việc nâng cấp firmware cần phải cẩn thận bởi nếu không thực hiện thành công thì router có nguy cơ bị brick.

VII. Sửa lỗi Windows :
Đôi lúc windows bị lỗi cũng gây ra trường hợp không kết nối được mang internet, bạn thử sửa lỗi windows bằng 2 cách sau :
- Chạy "Troubleshooting " để sửa lỗi .


- Mở CMD với quyền Admin, chạy lệnh sau : sfc /scannow , để sữa lỗi ,xong reset lại máy .

VIII. Chế độ tắt máy:
Đối với Windows 8.1 thì có các phương hướng tắt máy:
1. Dành cho màn hình cảm ứng , tắt nhanh bằng cách vuốt mép phài màn hình -> setting -> Power ->Shut down ( khuyên bạn nên hạn chế dùng cách tắt này , cách này thường gây ra lỗi không kết nối mạng mỗi lần mở máy mà phải reset lại máy mới có )
2. Nhấp phải nút "Start " ở thanh Task bar, chọn " Shut down or sign out" -> Shut down.( bạn nên dùng )
3. Metro (Start ) -> Shut down ( cách này mình không dùng nên chưa test ) : ))
4. Alt + F4 .

XI. Wifi limitted :
1. Khi dùng wifi tầm 10 ,15 , .. ,30 phút thì bị "limiitted " ,reset máy thì có wifi , nguyên nhân do máy tính của chúng ta để chế độ tiết kiệm năng lượng , cách khắc phục : : nhấp chuôt phải vào biểu tượng wifi ->Properties->configure...-> xuất hiện hộp thoại -> nhấp tab Power Manegement -> click bỏ dấu check trước dòng " Allow the ... " như hình 1 bên dưới, sao đó reset máy.


2. Lâu lâu bị limitted 1 lần khi dùng windows 8, 8.1 : Vào "Network and Sharing Center"-> bấm vào mạng mình đang sử dụng (bên phải chữ Connection) vào "Properties" kéo xuống bỏ dấu tích ở dòng "Internet Protocol Version 6 (TCP/IPv6)"-> bấm OK .
3. Dùng tầm 5 phút là đứt kết nối, tắt rồi bật lại wifi mới có : do virus làm lỗi driver wifi, dùng pm diệt virus quét, xong gỡ driver wifi, cài lại driver mới ( tỉ lệ thành công rất thấp, chỉ có cài lại windows ).
4. Mở nhiều tab truy cập internet thì bị đứt mạng, do card mạng, đi bảo hành, sửa .

X. Chỉnh "proxy" :
Lỗi này xảy ra khi ta vô tình "check " vào mục "proxy" của trình duyệt . Dấu hiệu dễ nhận biết là khi ta dùng trình duyệt này không truy cập được internet, mởi trình duyệt khác lại truy cập được internet. Cách khac18c phục :
1. Firefox / Internet Explorer ->Tools-> Internet Options ->Connections ->LAN Settings ->"check" vào mục " Automatically detect settings -> ok->ok .
2. Google Chrome ->Settings ->Show advanced settings... ->Change proxy settings  ->LAN Settings ->"check" vào mục " Automatically detect settings -> ok->ok .

XI. Lỗi " SSL" :
Khi bạn truy cập vào Google, Facebook, .. , hiện một số dòng thông báo như sau :
SSL connection error
Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have.
Error code: ERR_SSL_PROTOCOL_ERROR
Khắc phục lỗi :
1. Do trình duyệt chưa check kiểm định an toàn SSL , ta phải check các mục đó như sau :
 a. Firefox / Internet Explorer ->Tools-> Internet Options -> Avanced -> check các mục như hình dưới
 b. Google Chrome ->Settings ->Show advanced settings... ->Change proxy settings ->Avanced ->check các mục như hình dưới
2. Do file hosts trên máy tính bị đổi khi ta tiếp hành cấu hình server , crack một số chương trình như IDM chẳn hạn . Cách khắc phụ : chép lại file gốc cho hệ thống.

3. Do chương trình diệt virus : Kaspersky -> tắt chế độ quản lý người dùng .

XII . D-Com ( 3G) :
Lỗi này ít xảy ra , khi bạn gặp lỗi này thì bạn
1.  Kiểm tra xem cổng USB có kết nối được thiết bị D -Com không .Các kiểm tra : nhấp vào mũi tên phái dưới bên phải thanh Taskbar hoặc trong cửa sổ Explorer xem có tên thiết bị hay không.



2. Khi bạn kiểm tra cổng USB xong - kết nối được thiết bị D-com ( không được thì cấm D-com vào cổng USB khác ... ) thì bạn kiểm tra xem SIM của bạn đã đăng  ký dịch vụ 3G chưa (gọi nhà cung cấp dịch vụ hỏi ). Nếu khi bạn nhấp vào nút " kết nối " mà xuất hiện thông báo lỗi + " số " thì SIM bạn chưa đăng ký dịch vụ .
3. Cấu hình hệ thống cho SIM -3G : khi bạn đã chắc rằng máy tính nhận được thiết bị D-com, SIM đã đăng ký thì bạn xem lại phần cấu hình hệ thống cho SIM đúng chưa ( mỗi SIM nên có tên cấu hình khác nhau ). VD: nhà mạng Viettel : công cụ->cài đặt -> quản lý cấu hình .


XIII.  Facebook :
Khi máy tính bạn có kết nối được internet mà lại không vào được Facebook thì bạn thử cấu hình DNS của Google xem : 8.8.8.8 , 8.8.4.4 hoặc chỉnh lại file host ( google xem cách chỉnh ).

XIV. Lỗi phát không được wifi :
 Đây là lỗi cũng thường xảy ra, mà khi mình cm trên các diễn đàn, chủ topic im lặng  hoặc nói làm thế này thế nọ , bực quá ngồi trắng đêm để tìm ra nguyên nha , mai quá cuối cùng cũng tìm ra . Quá trình phát wifi tên laptop cũng giống như quá trình cho mượn xe chẳn hạn : để cho mượn xe thì bạn phải có xe , để người mượn được thì bạn phải đồng ý cho mượn . => Laptop phát wifi : máy bạn phải có tính năng phát , để nhận được wifi thì bạn phải bật tính năng share wifi . Vậy làm sao để biết máy mình có phát được hay không ? Đơn giản thôi : những mẫu máy nào sản suất từ thời windows 7 trở về sau thì hầu như có tính năng phát wifi ( tính năng phát wifi từ khi windows 7 ra lò mà ), còn những mẫu trước đó thì không phát được . Còn cách nữa là kiểm tra trong phần "Device Manager", khi mở cửa sổ này lên, bạn vào menu " view " chọn " Show hiden devices " . Nếu nhìn không thấy dòng " Microsoft Hosted Network Virtual Adapter " thì không phát được, ngược lại có thì phát được .
Hình không phát được wifi :

 Hình phát được wifi : 

Thứ Sáu, 4 tháng 10, 2013

Phân trang cho trang add to cart bằng php và mysql

Posted by Unknown Thứ Sáu, tháng 10 04, 2013, under | No comments

      Phân trang web không là vấn đề khó, nhưng chúng ta thường thấy dạng phân trang tương đối đơn giản , phức tạp nhất mình thấy là phân trang cho forums tự viết , add to cart .
Hôm này mình sẽ trình bày cái phân trang cho trang " Add to cart ", trang "Add to cart " như phần hướng dẫn trước , bây giời mình phân trang cho nó bởi vì nếu như số lương sản phẩm nhiều chúng ta không thể để nó ở một trang được mà phải chia ra nhiều trang.
    Các bước thực hiện :

A. PHẦN "Add to cart ":

1. Tạo database : shopping

2. Tạo các table :

--
-- Table structure for table `customers`
--

CREATE TABLE IF NOT EXISTS `customers` (
  `serial` int(11) NOT NULL auto_increment,
  `name` varchar(20) collate latin1_general_ci NOT NULL,
  `email` varchar(80) collate latin1_general_ci NOT NULL,
  `address` varchar(80) collate latin1_general_ci NOT NULL,
  `phone` varchar(20) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`serial`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;


--
-- Dumping data for table `customers`
--

-- --------------------------------------------------------

--
-- Table structure for table `orders`
--


CREATE TABLE IF NOT EXISTS `orders` (
  `serial` int(11) NOT NULL auto_increment,
  `date` date NOT NULL,
  `customerid` int(11) NOT NULL,
  PRIMARY KEY  (`serial`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;


--
-- Dumping data for table `orders`
--

-- --------------------------------------------------------

--
-- Table structure for table `order_detail`
--

CREATE TABLE IF NOT EXISTS `order_detail` (
  `orderid` int(11) NOT NULL,
  `productid` int(11) NOT NULL,
  `quantity` int(11) NOT NULL,
  `price` float NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;


--
-- Dumping data for table `order_detail`
--

-- --------------------------------------------------------

--
-- Table structure for table `products`
--

CREATE TABLE IF NOT EXISTS `products` (
  `serial` int(11) NOT NULL auto_increment,
  `name` varchar(50) collate latin1_general_ci NOT NULL,
  `description` varchar(500) collate latin1_general_ci NOT NULL,
  `price` float NOT NULL,
  `picture` varchar(500) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`serial`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7 ;

3. Tạo file "connect.php" :

<?php

$doman = 'localhost';
$username = 'root';
$password = 'huy';
$databasename = 'shopping';
$connect = mysql_connect($doman, $username, $password);
mysql_query("SET character_set_results=utf8", $connect);
mb_language('uni');
mb_internal_encoding('UTF-8');
mysql_select_db($databasename, $connect);
mysql_query("set names 'utf8'",$connect);
  session_start();

?>

4. Tạo file "function.php" :

<?php
 function get_product_name($pid){
  $result=mysql_query("select name from products where serial=$pid");
  $row=mysql_fetch_array($result);
  return $row['name'];
 }
 function get_price($pid){
  $result=mysql_query("select price from products where serial=$pid");
  $row=mysql_fetch_array($result);
  return $row['price'];
 }
 function remove_product($pid){
  $pid=intval($pid);
  $max=count($_SESSION['cart']);
  for($i=0;$i<$max;$i++){
   if($pid==$_SESSION['cart'][$i]['productid']){
    unset($_SESSION['cart'][$i]);
    break;
   }
  }
  $_SESSION['cart']=array_values($_SESSION['cart']);
 }
 function get_order_total(){
  $max=count($_SESSION['cart']);
  $sum=0;
  for($i=0;$i<$max;$i++){
   $pid=$_SESSION['cart'][$i]['productid'];
   $q=$_SESSION['cart'][$i]['qty'];
   $price=get_price($pid);
   $sum+=$price*$q;
  }
  return $sum;
 }
 function addtocart($pid,$q){
  if($pid<1 or $q<1) return;
  
  if(is_array($_SESSION['cart'])){
   if(product_exists($pid)) return;
   $max=count($_SESSION['cart']);
   $_SESSION['cart'][$max]['productid']=$pid;
   $_SESSION['cart'][$max]['qty']=$q;
  }
  else{
   $_SESSION['cart']=array();
   $_SESSION['cart'][0]['productid']=$pid;
   $_SESSION['cart'][0]['qty']=$q;
  }
 }
 function product_exists($pid){
  $pid=intval($pid);
  $max=count($_SESSION['cart']);
  $flag=0;
  for($i=0;$i<$max;$i++){
   if($pid==$_SESSION['cart'][$i]['productid']){
    $flag=1;
    break;
   }
  }
  return $flag;
 }


?>

5. Tạo file "products.php" :

<?php


 include("/var/www/shopping/connect/connect.php");
 include("/var/www/shopping/products/sony/functions.php");
 if(isset($_REQUEST['command']))
 {
  if($_REQUEST['command']=='add' && $_REQUEST['productid']>0){
   $pid=$_REQUEST['productid'];
   $q = 1;
   if(is_array($_SESSION['cart'])){ 
    $pid=intval($pid); 
    $max=count($_SESSION['cart']); 
    for($i=0;$i<$max;$i++){ 
     if($pid==$_SESSION['cart'][$i]['productid']){ 
      $flag = 1;
      break;
     } else {
      $flag = 0;
     }
    }
    if($flag == 1)
    {
     $quan = $_SESSION['cart'][$i]['qty'];
     $quan = $quan + 1;
     $_SESSION['cart'][$i]['qty'] = $quan;
     $i = $max;
    } else { 
     $max=count($_SESSION['cart']); 
     $_SESSION['cart'][$max]['productid']=$pid; 
     $_SESSION['cart'][$max]['qty']=$q; 
     $i = $max;
    }
   }else{ 
   $_SESSION['cart']=array(); 
   $_SESSION['cart'][0]['productid']=$pid; 
   $_SESSION['cart'][0]['qty']=$q; 
   } 
  }
  
   //addtocart($pid,1);
   header("location: shoppingcart.php");
   exit();
 }
?>

<html >
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<style type="text/css">
table, td, th
{
border:1px solid blue;
background-color:green;
}
</style>


<script language="javascript">
 function addtocart(pid){
  document.form1.productid.value=pid;
  document.form1.command.value='add';
  document.form1.submit();
 }
</script>

</head>




<body>
<form name="form1">
 <input type="hidden" name="productid" />
    <input type="hidden" name="command" />
</form>
<div align="center">
 <table cellpadding="2px" width="550px">
  <?php
   mysql_query("SET character_set_results=utf8", $connect);
   $result="select * from products";
   $result = mysql_query( $result, $connect);
   while($row=mysql_fetch_array($result)){
  ?>
     <tr>
         <td><img src="<?php echo $row['picture'];?>" /></td>
            <td>  Name:  <b><?php echo $row['name'];?></b><br/>
 Description: <?php echo $row['description'];?><br/>
                    Price: $<?php echo $row['price'];?>
<br/><br/>
                    <input type="button" value="Add to Cart" onclick="addtocart(<?php echo $row['serial'];?>)" />
   </td>
  </tr>
        
        <?php } ?>
    </table>
</div>
</body>
</html>

6. Tạo file "shoppingcart.php"

<?php
 include("/var/www/shopping/connect/connect.php");
 include("/var/www/shopping/products/sony/functions.php");
 if(isset($_REQUEST['command']))
 {
  if($_REQUEST['command']=='delete' && $_REQUEST['pid']>0){
   remove_product($_REQUEST['pid']);
  }
  else if($_REQUEST['command']=='clear'){
   unset($_SESSION['cart']);
  }
  else if($_REQUEST['command']=='update'){
   $max=count($_SESSION['cart']);
   for($i=0;$i<$max;$i++){
    $pid=$_SESSION['cart'][$i]['productid'];
    $q=intval($_REQUEST['product'.$pid]);
    if($q>0 && $q<=999){
     $_SESSION['cart'][$i]['qty']=$q;
    }
    else{
     $msg='Some proudcts not updated!, quantity must be a number between 1 and 999';
    }
   }
  }
 }
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Shopping Cart</title>
<script language="javascript">
 function del(pid){
  if(confirm('Do you really mean to delete this item')){
   document.form1.pid.value=pid;
   document.form1.command.value='delete';
   document.form1.submit();
  }
 }
 function clear_cart(){
  if(confirm('This will empty your shopping cart, continue?')){
   document.form1.command.value='clear';
   document.form1.submit();
  }
 }
 function update_cart(){
  document.form1.command.value='update';
  document.form1.submit();
 }




</script>
</head>


<body>
<form name="form1" method="post">
<input type="hidden" name="pid" />
<input type="hidden" name="command" />
 <div style="margin:0px auto; width:600px;" >
    <div style="padding-bottom:10px">
     <h1 align="center">Giỏ Hàng Của Bạn </h1>
    
    </div>
     <div style="color:#F00"><?php if(isset($msg)) {echo $msg;}?></div>
     <table border="3" cellpadding="5px" cellspacing="1px" style="font-family:Verdana, Geneva, sans-serif; font-size:11px; background-color:#E1E1E1" width="100%">
     <?php
   if(isset($_SESSION['cart']))
   {
    if(is_array($_SESSION['cart'])){
     echo '<tr border="4" bgcolor=blue style="font-weight:bold"><td>Serial</td><td>Name</td><td>Price</td><td>Qty</td><td>Amount</td><td>Options</td></tr>';
     $max=count($_SESSION['cart']);
     for($i=0;$i<$max;$i++){
      $pid=$_SESSION['cart'][$i]['productid'];
      $q=$_SESSION['cart'][$i]['qty'];
      $pname=get_product_name($pid);
      if($q==0) continue;
    ?>
      <tr bgcolor="#FFFFFF"><td><?php echo $i+1;?></td><td><?php echo $pname;?></td>
      <td>$ <?php echo get_price($pid);?></td>
      <td><input type="text" name="product<?php echo $pid;?>" value="<?php echo $q;?>" maxlength="3" size="2" /></td>                    
      <td>$ <?php echo get_price($pid)*$q;?></td>
      <td><a href="javascript:del(<?php echo $pid?>)">Remove</a></td></tr>
    <?php    
     }
    ?>
     <tr border="3"  bgcolor=green ><td><b>Order Total: $<?php echo get_order_total();?></b></td><td colspan="5" align="right"> <input type="button" value="Continue Shopping" onclick="window.location='products.php'" /> <input type="button" value="Clear Cart" onclick="clear_cart()"> <input type="button" value="Update Cart" onclick="update_cart()"><input type="button" value="Place Order" onclick="window.location='billing.php'"></td></tr>
    <?php
    }
    else{
     echo "<tr bgColor='#FFFFFF'><td>There are no items in your shopping cart!</td>";
    }
   } else{
     echo "<tr bgColor='#FFFFFF'><td>There are no items in your shopping cart!</td>";
    }
  ?>
        </table>
    </div>
</form>
</body>
</html>

7. Tạo file "billing.php" :

<?php
 include("/var/www/shopping/connect/connect.php");
 include("/var/www/shopping/products/sony/functions.php");
 if(isset($_REQUEST['command'])) {
  if($_REQUEST['command']=='update'){
   $name=$_REQUEST['name'];
   $email=$_REQUEST['email'];
   $address=$_REQUEST['address'];
   $phone=$_REQUEST['phone'];
   
   $result=mysql_query("insert into customers values('','$name','$email','$address','$phone')");
   $customerid=mysql_insert_id();
   $date=date('Y-m-d');
   $result=mysql_query("insert into orders values('','$date','$customerid')");
   $orderid=mysql_insert_id();
   
   $max=count($_SESSION['cart']);
   for($i=0;$i<$max;$i++){
    $pid=$_SESSION['cart'][$i]['productid'];
    $q=$_SESSION['cart'][$i]['qty'];
    $price=get_price($pid);
    mysql_query("insert into order_detail values ($orderid,$pid,$q,$price)");
   }
   die('Thank You! your order has been placed!');
  }
 }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Billing Info</title>
<script language="javascript">
 function validate(){
  var f=document.form1;
  if(f.name.value==''){
   alert('Your name is required');
   f.name.focus();
   return false;
  }
  f.command.value='update';
  f.submit();
 }
</script>
<style type="text/css">
table, td
{
border:1px solid blue;
background-color:green;
}
</style
</head>


<body>
<div align="center">
        <h1 align="center"> Mat Hang</h1>
        <table border="2" cellpadding="2px">
         <tr  style="font-weight:bold">
                <td> Mat Hang:</td>
                <td> So Luong:</td>
                 <td>Don Gia:</td>            
            </tr>
   
   <?php if(isset($_SESSION['cart'])){
    if(is_array($_SESSION['cart'])){     
     $max=count($_SESSION['cart']);
     for($i=0;$i<$max;$i++){
      $pid=$_SESSION['cart'][$i]['productid'];
      $q=$_SESSION['cart'][$i]['qty'];
      $pname=get_product_name($pid);
   ?>   
    <tr><td> <?php echo $pname;?></td> <td> <?php echo $q;?> </td><td> <?php echo get_price($pid);?></td>
     </tr>   
   <?php }?>
  <?php }?>
  <?php } ?>
  
        </table>
 </div>
<form name="form1" onsubmit="return validate()">
    <input type="hidden" name="command" />
 <div align="center">
        <h1 align="center"> Thong Tin Khach Hang</h1>
        <table border="1" cellpadding="2px">
         <tr><td>Order Total:</td><td><?php echo get_order_total();?></td></tr>
            <tr><td>Your Name:</td><td><input type="text" name="name" /></td></tr>
            <tr><td>Address:</td><td><input type="text" name="address" /></td></tr>
            <tr><td>Email:</td><td><input type="text" name="email" /></td></tr>
            <tr><td>Phone:</td><td><input type="text" name="phone" /></td></tr>
            <tr><td><input type=button onclick="window.print()" value='Print this page'></td><td><input type="submit" value="Place Order" /></td></tr>
        </table>
 </div>
</form>
</body>
</html>


 =>Để chạy thử phần " Add to cart " các bạn nên sửa lại đường dẫn các file nha, insert dữ liệu vào table "products " :  serial ,name, ..... . 


B. PHẦN PHÂN TRANG :

1. Tạo file " pagination.css" :

@charset "utf-8";
/* CSS Document */

table {
    *border-collapse: collapse; /* IE7 and lower */
    border-spacing: 0;
    width: 450px; 
text-transform:capitalize;   
}
 tr{
    background: #FFFFD9;
}    
    
 td,th {
    border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
    padding: 10px;
    text-align:center    
}

th {
    background-color: #dce9f9;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
    background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:    -moz-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:     -ms-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:      -o-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:         linear-gradient(top, #ebf3fc, #dce9f9);
    -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; 
    -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;  
    box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;        
    border-top: none;
    text-shadow: 0 1px 0 rgba(255,255,255,.5); 
}


.paginate {
font-family:Arial, Helvetica, sans-serif;
padding: 3px;
margin: 3px;
}

.paginate a {
padding:2px 5px 2px 5px;
margin:2px;
border:1px solid #999;
text-decoration:none;
color: #666;
}
.paginate a:hover, .paginate a:active {
border: 1px solid #999;
color: #000;
}
.paginate span.current {
    margin: 2px;
padding: 2px 5px 2px 5px;
border: 1px solid #999;
font-weight: bold;
background-color: #999;
color: #FFF;
}
.paginate span.disabled {
padding:2px 5px 2px 5px;
margin:2px;
border:1px solid #eee;
color:#DDD;
}
li{
padding:4px;
margin-bottom:3px;
background-color:#FCC;
list-style:none;}
ul{margin:6px;
padding:0px;}

2. Sửa nội dung file "products.php" ở phía trên như sau :

<?php


 include("/var/www/shopping/connect/connect.php");
 include("/var/www/shopping/products/sony/functions.php");
 if(isset($_REQUEST['command']))
 {
  if($_REQUEST['command']=='add' && $_REQUEST['productid']>0){
   $pid=$_REQUEST['productid'];
   $q = 1;
   if(is_array($_SESSION['cart'])){ 
    $pid=intval($pid); 
    $max=count($_SESSION['cart']); 
    for($i=0;$i<$max;$i++){ 
     if($pid==$_SESSION['cart'][$i]['productid']){ 
      $flag = 1;
      break;
     } else {
      $flag = 0;
     }
    }
    if($flag == 1)
    {
     $quan = $_SESSION['cart'][$i]['qty'];
     $quan = $quan + 1;
     $_SESSION['cart'][$i]['qty'] = $quan;
     $i = $max;
    } else { 
     $max=count($_SESSION['cart']); 
     $_SESSION['cart'][$max]['productid']=$pid; 
     $_SESSION['cart'][$max]['qty']=$q; 
     $i = $max;
    }
   }else{ 
   $_SESSION['cart']=array(); 
   $_SESSION['cart'][0]['productid']=$pid; 
   $_SESSION['cart'][0]['qty']=$q; 
   } 
  }
  
   //addtocart($pid,1);
   header("location: shoppingcart.php");
   exit();
 }
?>

<html >
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="pagination.css" rel="stylesheet" type="text/css" />


<script language="javascript">
 function addtocart(pid){
  document.form1.productid.value=pid;
  document.form1.command.value='add';
  document.form1.submit();
 }
</script>

</head>


<body>
<form name="form1">
 <input type="hidden" name="productid" />
    <input type="hidden" name="command" />
</form>


<table width="450"  border="1" align="center" cellspacing="0">
  <tr>
    <th width="25"  scope="col">Sản Phẩm</th>  
    <th scope="col">Mô Tả sản Phẩm</th>    
   
  </tr>
    
    <?php  
$connect=mysql_connect("localhost","root","huy");
$sdb=mysql_select_db("shopping",$connect);

$tableName="products"; //page name
$targetpage = "products.php";  
$limit =1;     //limit of dispaly
$query = "SELECT COUNT(*) as num FROM $tableName";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages[num];
$stages = 1;
$page = mysql_escape_string($_GET['page']);
if($page){
$start = ($page - 1) * $limit; 
}else{
$start = 0;
}
    // Get page data
$sel = mysql_query("select * FROM $tableName LIMIT $start, $limit");
while($row1=mysql_fetch_array($sel))
  {
  $id=$id=$row1['serial'];;
?>
<tr align="left"  >
    <td align="left" >
    <img src="<?php echo $row1['picture'];?>" />
<?php echo $row1['name'];?>
<?php echo "<br/>";?>
<?php echo "<br/>";?>
 Giá Bán:$<?php echo $row1['price'];?>
<?php echo "<br/>";?>
<?php echo "<br/>";?>
    <input type="button" value=" Mua " onclick="addtocart(<?php echo $row1['serial'];?>)" />
<?php echo "<br/>";?>
    </td>
   
    <td> <?php echo $row1['description'];?>
</td>
  
   
    
  </tr>
  <?php  } ?>
<tr><td colspan="2" >
<?php
// Initial page num setup
if ($page == 0){$page = 1;}
$prev = $page - 1;
$next = $page + 1;
$lastpage = ceil($total_pages/$limit);
$LastPagem1 = $lastpage - 1;
$paginate = '';
if($lastpage > 1)
{

$paginate .= "<div class='paginate'>";
// Previous
if ($page > 1){
$paginate.= "<a href='$targetpage?page=$prev'>previous</a>";
}else{
$paginate.= "<span class='disabled'>previous</span>"; }

// Pages
if ($lastpage < 7 + ($stages * 2)) // Not enough pages to breaking it up
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
}
}
elseif($lastpage > 5 + ($stages * 2)) // Enough pages to hide a few?
{
// Beginning only hide later pages
if($page < 1 + ($stages * 2))
{
for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
}
$paginate.= "...";
$paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
$paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
}
// Middle hide some front and some back
elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
{
$paginate.= "<a href='$targetpage?page=1'>1</a>";
$paginate.= "<a href='$targetpage?page=2'>2</a>";
$paginate.= "...";
for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
}
$paginate.= "...";
$paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
$paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
}
// End only hide early pages
else
{
$paginate.= "<a href='$targetpage?page=1'>1</a>";
$paginate.= "<a href='$targetpage?page=2'>2</a>";
$paginate.= "...";
for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
}
}
}
// Next
if ($page < $counter - 1){ 
$paginate.= "<a href='$targetpage?page=$next'>next</a>";
}else{
$paginate.= "<span class='disabled'>next</span>";
}
$paginate.= "</div>";
}
 echo $total_pages.' Trang';
 // pagination
 echo $paginate;
?>
</td>

</tr>
</table>


</body>
</html>


C.  VIDEO DEMO :





Xem Nhiều

Bài đăng phổ biến

Lưu trữ blog

Blog Archive