Saturday, May 12, 2012

simple fsockopen use cookie login pantip.com

พอดี ไปตอบ กระทู้ใน pantip มา .. ลากยาว หลาย comment ก็เลย เอา code มาลงทิ้งไว้ที่นี่ ซักหน่อย
เพราะ เดี๋ยวนานๆ แล้วกากระทู้ไม่เจอ

สำหรับคนอยากต่อยอด งมเรื่อง header, chunked

ที่มา http://www.pantip.com/tech/developer/topic/DW3044972/DW3044972.html#8

<?
set_time_limit(0);

$username = 'windows98SE';
$password = '';
$testpage = '/tech/developer/listD.php';#

$cookie = get_cookie_pantip($username, $password);
echo get_page_pantip($testpage, $cookie);



function http_send($host, $packet){
if (!($sock = fsockopen($host, 80))) die( "\n[-] No response from {$host}:80\n");
fwrite($sock, $packet);
return stream_get_contents($sock);
}

function get_cookie_pantip($username, $password){
$data = 'Nickname='.rawurlencode($username).'&Password='.rawurlencode($password).'&Remember=1&AutoLogin=1&Expire=4&step=1';
$packet  = "POST /index.php HTTP/1.1\r\n";
$packet .= "HOST: members.pantip.com\r\n";
$packet .= "Accept: */*\r\n";
$packet .= "Content-Type: application/x-www-form-urlencoded\r\n";
$packet .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n";
$packet .= "Content-Length: ".strlen($data)."\r\n";
$packet .= "Connection: close\r\n\r\n".$data;
# grep cookie
if(!preg_match("/Set-Cookie: ckPantipMember=([^;]*);/", http_send("members.pantip.com", $packet), $cookie)) die("\n[-] cookies not found!\n");
return $cookie[1];
}

function get_page_pantip($page, $cookie){

$packet  = "GET $page HTTP/1.1\r\n";
$packet .= "HOST: www.pantip.com\r\n";
$packet .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n";
$packet .= "Cookie: ckPantipMember=".$cookie.";\r\n";
$packet .= "Connection: Close\r\n\r\n";
$resp = http_send("www.pantip.com", $packet);
$response = explode("\r\n\r\n", $resp, 2);
$header=$response[0];
$responsecontent=$response[1];
if(!(strpos($header,"Transfer-Encoding: chunked")===false)){
$aux=split("\r\n",$responsecontent);
for($i=0;$i<count($aux);$i++) if($i==0 || ($i%2==0)) $aux[$i]="";
$responsecontent=implode("",$aux);
}
return chop($responsecontent);
}

?>

คหสต. ผมว่า … เมืองไทย
- จบ โปรแกรมเมอร์ เยอะ .. แต่ เขียนได้จริงๆ น้อย ยิ่งบางมหาลัย .. จบหลักสูตรคอมมา แต่ทั้งห้อง อาจจะเขียนได้แค่ 2-3 คน เท่านั้น
แต่ก็พูดยาก .. คอมมันมีแตกแยกแขนง ออกมาเยอะ หลายภาษา
ดังนั้น อาจจะ ไม่ได้จับ php หรือ ภาษาทาง programming ออกมา ตอนจบ
แต่ไปจับ พวกกราฟฟิคแทน ก็เป็นไปได้ จริงมะ ?

- เป็น ผู้ดูแล เน็ตเวิค เยอะ แต่เท่าที่ดู ก็ยังไม่ค่อยมี คนที่เป็น ทั้ง 2 อย่าง แฮะ
เป็น เพราะ มหาลัย ไม่ค่อยมีสอน ต้องนั่งอ่านกันเอาเอง หรือป่าว ?

- ที่ผมเห็นเทพๆ เป็นมันทั้งหมด เป็นมันยัน binary ก็มี นะ … แต่ก็ส่วนน้อย จริงๆ (แต่ทำไมผมเจอฝรั่ง เป็นกันเกลื่อนมากก เพราะ เค้า ไม่ปิดกันเรื่อง hack หรือป่าว ?)

จาก ประสพการณ์ผมที่ผ่านมา หากใครที่ กำลัง กระโดดเข้ามา วงการ network ผมว่า ก๊วนนี้ กั๊กความรู้สุดๆ
สมัย ซัก 3 ปีที่แล้ว ผมยังไม่รุ้เรื่อง linux/server เลย .. แค่ค่า setup linux คิด ตั้ง 5k บาท
… พระเจ้า !! เพิ่มอีก 6k ซื้อ sv เครื่องนี้ ได้อีกเครื่องเลยนะ !!!
(คอมประกอบ mini case.. เจ้าของก็ไม่ค่อยเป็น เน้นมั่วไปวันๆ .. แต่ก็ยังอึดอยุ่ได้มาถึงปัจจุบัน)

อันนี้ ความเห็นส่วนตัวนิดหนึ่ง .. พวกร้านที่รับลง widdows แล้วคิดตัง 300-500 อ่ะ
ผมว่า เกินไป จริงๆ นะ คลิกแค่ 5 ครั้งเองมั้ง ที่เหลือคือ รอมันติดตั้ง ไม่ถึง 1 ชม. ก็เสร็จแระ

แต่เวลาไปเจอ พวกที่ ทำอะไรไม่เป็นเลยสอนให้ก็ไม่จำ
อยากจะให้พวกคนเหล่านี้ ไปโดนค่าลง windows ซักครั้งละ 1000 บาท
เผื่อจะรู้สึก เสียดายเงิน แล้ว หัดลงเอง ซะบ้าง เหมือนกัน :P

ปล. อยากมีคนสอน มั่งจัง .. เริ่ม เบื่อ การหาอ่านเอง ^^

No comments:

Why You Don't LIKE My FaceBook Fanpage ?
×
blogger