Bài 08: Sử dụng CURL PHP để đăng nhập vào website khác
Trong bài này chúng ta sẽ vận dụng những kiến thức ở bài POST và GET trong PHP CURL để xử lý đăng nhập vào một website nào đó. Cái này khá là hay đấy vì mình có thể dùng để làm ứng dụng đăng bài tự động lên các forum hay một số website khác .
Bây giờ ta cần một website để đăng nhập, cũng không biết chọn site nào nên mình mạo muội xin phép được lấy site http://www.vn-zoom.com/, nếu có gì vi phạm thì mong được bỏ qua và mình sẽ gở bài ngay nếu admin website vnzoom yêu cầu.
1. Sử dụng CURL để đăng nhập vào website khác
Để sử dụng CURL đăng nhập vào một website nào đó thì điều trước tiên bạn phải dùng Firebug để soi xem những dữ liệu nào sẽ được gửi đi khi xử lý đăng nhập, ở đây mình đã check và thấy những key dữ liệu sẽ gửi đi là:
- Method = POST
- Action = http://www.vn-zoom.com/login.php?do=login
- vb_login_username: Tên đăng nhập
- vb_login_password: Mật khẩu
- securitytoken = guest: có gí trị là guest
- do = login: có giá trị là login
Như vậy chúng ta sẽ có một mảng các tham số là:
$param = array( 'vb_login_username' => 'tendangnhap', 'vb_login_password' => 'matkhau', 'securitytoken' => 'guest', 'do' => 'login' );
Bây giờ ta sẽ code nhé, bạn tạo một file index.php với nội dung như sau:
Bài viết này được đăng tại [free tuts .net]
// Các tham số $param = array( 'vb_login_username' => 'tendangnhap', 'vb_login_password' => 'matkhau', 'securitytoken' => 'guest', 'do' => 'login' ); // URL $url = 'http://www.vn-zoom.com/login.php?do=login'; // Khởi tạo CURL $ch = curl_init($url); // Thiết lập có return curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, count($param)); curl_setopt($ch, CURLOPT_POSTFIELDS, $param); // Thiết lập sử dụng trình duyệt hiện tại curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); $result = curl_exec($ch); curl_close($ch); echo $result;
Các bạn đổi thông tin tên đăng nhập và mật khẩu sau đó chạy lên sẽ thấy kết quả là nó thông báo đăng nhập thành công, như vậy là ta đã login vào rồi đấy.
2. Lời kết
Bài này chỉ mang tính chất học tập về CURL nói chung và cách xử lý FORM và các dữ liệu gửi đi kèm theo với FORM nói riêng. Nên nếu có gì mạo phạm tới website vn-zoom.com thì mong được bỏ qua và góp ý, mình sẽ xử lý ngay khi có yêu cầu. Cám ơn một lần nữa.