Skip to content

Instantly share code, notes, and snippets.

@iodaps

iodaps/mutasi.md Secret

Created April 28, 2023 07:38
Show Gist options
  • Save iodaps/558b71418c8e643cb37d64f7beb38bc8 to your computer and use it in GitHub Desktop.
Save iodaps/558b71418c8e643cb37d64f7beb38bc8 to your computer and use it in GitHub Desktop.
Script Mutasi BCA PHP Terbaru

Script merupakan metode scraping terbaru untuk mendapatkan mutasi BCA realtime

Script melakukan scraping mutasi BCA dari URL https://ibank.klikbca.com/

URL untuk mengakses script akan seperti berikut https://URLDOMAIN/mutasi.php?username=USERNAME_EBANKING&password=PASSWORD_EBANKING

Anda bisa mengganti username dan password sesuai akses yang dimiliki

Script dapat dicopas dan disimpan dalam ekstensi .php

Dibuat oleh KUSAGIRI team

//SCRIPT MUTASI BCA PHP TERBARU

$ip_address=$_SERVER['REMOTE_ADDR'];

$username=$_GET['username'];
$password=$_GET['password'];

if($username!=NULL&&$password!=NULL){
	$url="https://ibank.klikbca.com/";
	$ch = curl_init ($url);
	curl_setopt($ch,CURLOPT_COOKIESESSION,true); 
	curl_setopt($ch,CURLOPT_HEADER,true);
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_HTTPHEADER,array( 
		'Connection: keep-alive',
		'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
		'Accept-Language: en-US,en;q=0.9,id;q=0.8,es;q=0.7',
		'Cache-Control: no-cache',
		'Connection: keep-alive',
		'Host: ibank.klikbca.com',
		'Pragma: no-cache',
		'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"',
		'sec-ch-ua-mobile: ?0',
		'Sec-Fetch-Dest: document',
		'Sec-Fetch-Mode: navigate',
		'Sec-Fetch-Site: none',
		'Sec-Fetch-User: ?1',
		'Upgrade-Insecure-Requests: ',
		'User-Agent: '.$_SERVER['HTTP_USER_AGENT'],
		)                                                                       
	); 
	//curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
	$result=curl_exec($ch);

	$cookies=explode('Set-Cookie:',$result);
	$cookies_text='';

	for($f=1;$f<count($cookies);$f++){
		$cookies_data=explode(';',$cookies[$f]);
		$cookies_data=trim($cookies_data[0]);

		$cookies_text.=$cookies_data.';';
	}
	//echo $cookies_text;

	$datapost=array(
		'value(actions)'=>'login',
		'value(user_id)'=>$username,
		'value(user_ip)'=>$ip_address,
		'value(browser_info)'=>$_SERVER['HTTP_USER_AGENT'],
		'value(mobile)'=>'false',
		'value(pswd)'=>$password,
		'value(Submit)'=>'LOGIN',
	);
	//echo '<pre>'; print_r($datapost); echo '</pre>';	                                             

	$datapost=http_build_query($datapost);

	$url="https://ibank.klikbca.com/authentication.do";
	$ch = curl_init ($url);
	curl_setopt($ch,CURLOPT_COOKIESESSION,true); 
	//curl_setopt($ch,CURLOPT_HEADER,true);
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
	curl_setopt($ch,CURLOPT_POST,true);
	curl_setopt($ch,CURLOPT_POSTFIELDS,$datapost);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_HTTPHEADER,array( 
		'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
		'Accept-Language: en-US,en;q=0.9,id;q=0.8,es;q=0.7',
		'Cache-Control: no-cache',
		'Connection: keep-alive',
		'Content-Type: application/x-www-form-urlencoded',
		'Cookie: '.$cookies_text,
		'Host: ibank.klikbca.com',
		'Origin: https://ibank.klikbca.com',
		'Pragma: no-cache',
		'Referer: https://ibank.klikbca.com/',
		'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"',
		'sec-ch-ua-mobile: ?0',
		'Sec-Fetch-Dest: document',
		'Sec-Fetch-Mode: navigate',
		'Sec-Fetch-Site: same-origin',
		'Sec-Fetch-User: ?1',
		'Upgrade-Insecure-Requests: 1',
		'User-Agent: '.$_SERVER['HTTP_USER_AGENT'],
		)                                                                       
	); 
	//curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
	$result=curl_exec($ch);
	//echo $result;

	$cookies=explode('Set-Cookie:',$result);
	$cookies_text_2='';

	for($f=1;$f<count($cookies);$f++){
		$cookies_data=explode(';',$cookies[$f]);
		$cookies_data=trim($cookies_data[0]);

		$cookies_text_2.=$cookies_data.';';
	}
	$cookies_text.=$cookies_text_2;

	$url="https://ibank.klikbca.com/authentication.do?value(actions)=welcome";
	$ch = curl_init ($url);
	curl_setopt($ch,CURLOPT_COOKIESESSION,true); 
	curl_setopt($ch,CURLOPT_HEADER,true);
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_HTTPHEADER,array( 
		'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
		'Accept-Language: en-US,en;q=0.9,id;q=0.8,es;q=0.7',
		'Cache-Control: no-cache',
		'Connection: keep-alive',
		'Cookie: '.$cookies_text,
		'Host: ibank.klikbca.com',
		'Pragma: no-cache',
		'Referer: https://ibank.klikbca.com/authentication.do',
		'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"',
		'sec-ch-ua-mobile: ?0',
		'Sec-Fetch-Dest: frame',
		'Sec-Fetch-Mode: navigate',
		'Sec-Fetch-Site: same-origin',
		'Upgrade-Insecure-Requests: 1',
		'User-Agent: '.$_SERVER['HTTP_USER_AGENT'],
		)                                                                       
	); 
	//curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
	$result=curl_exec($ch);
	//echo $result=str_replace('document.iBankForm.submit();','',$result);

	$url="https://ibank.klikbca.com/nav_bar/account_information_menu.htm";
	$ch = curl_init ($url);
	curl_setopt($ch,CURLOPT_COOKIESESSION,true); 
	curl_setopt($ch,CURLOPT_HEADER,true);
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_HTTPHEADER,array( 
		'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
		'Accept-Language: en-US,en;q=0.9,id;q=0.8,es;q=0.7',
		'Cache-Control: no-cache',
		'Connection: keep-alive',
		'Cookie: '.$cookies_text,
		'Host: ibank.klikbca.com',
		'Pragma: no-cache',
		'Referer: https://ibank.klikbca.com/authentication.do',
		'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"',
		'sec-ch-ua-mobile: ?0',
		'Sec-Fetch-Dest: frame',
		'Sec-Fetch-Mode: navigate',
		'Sec-Fetch-Site: same-origin',
		'Upgrade-Insecure-Requests: 1',
		'User-Agent: '.$_SERVER['HTTP_USER_AGENT'],
		)                                                                       
	); 
	//curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
	$result=curl_exec($ch);
	//echo $result=str_replace('document.iBankForm.submit();','',$result);

	$datapost=array(
		'value(actions)'=>'acct_stmt',
	);
	//echo '<pre>'; print_r($datapost); echo '</pre>';	                                             

	$datapost=http_build_query($datapost);

	$url="https://ibank.klikbca.com/accountstmt.do?value(actions)=acct_stmt";
	$ch = curl_init ($url);
	curl_setopt($ch,CURLOPT_COOKIESESSION,true); 
	//curl_setopt($ch,CURLOPT_HEADER,true);
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
	curl_setopt($ch,CURLOPT_POST,true);
	curl_setopt($ch,CURLOPT_POSTFIELDS,$datapost);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_HTTPHEADER,array( 
		'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
		'Accept-Language: en-US,en;q=0.9,id;q=0.8,es;q=0.7',
		'Cache-Control: no-cache',
		'Connection: keep-alive',
		'Content-Type: application/x-www-form-urlencoded',
		'Cookie: '.$cookies_text,
		'Host: ibank.klikbca.com',
		'Origin: https://ibank.klikbca.com',
		'Pragma: no-cache',
		'Referer: https://ibank.klikbca.com/nav_bar/account_information_menu.htm',
		'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"',
		'sec-ch-ua-mobile: ?0',
		'Sec-Fetch-Dest: document',
		'Sec-Fetch-Mode: navigate',
		'Sec-Fetch-Site: same-origin',
		'Sec-Fetch-User: ?1',
		'Upgrade-Insecure-Requests: 1',
		'User-Agent: '.$_SERVER['HTTP_USER_AGENT'],
		)                                                                       
	); 
	//curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
	$result=curl_exec($ch);
	echo $result=str_replace('document.iBankForm.submit();','',$result);

	$date_before=date("d-n-Y",strtotime("-31 days"));
	$date_before=explode('-',$date_before);

	$date_today=date("d-n-Y");
	$date_today=explode('-',$date_today);

	$datapost=array(
		'value(D1)'=>'0',
		'value(r1)'=>'1',
		//'value(startDt)'=>$date_before[0],
		//'value(startMt)'=>$date_before[1],
		//'value(startYr)'=>$date_before[2],
		'value(startDt)'=>$date_today[0],
		'value(startMt)'=>$date_today[1],
		'value(startYr)'=>$date_today[2],
		'value(endDt)'=>$date_today[0],
		'value(endMt)'=>$date_today[1],
		'value(endYr)'=>$date_today[2],
		'value(fDt)'=>'',
		'value(tDt)'=>'',
		'value(submit1)'=>'Lihat Mutasi Rekening',
	);
	//echo '<pre>'; print_r($datapost); echo '</pre>';	                                             

	$datapost=http_build_query($datapost);

	$url="https://ibank.klikbca.com/accountstmt.do?value(actions)=acctstmtview";
	$ch = curl_init ($url);
	curl_setopt($ch,CURLOPT_COOKIESESSION,true); 
	//curl_setopt($ch,CURLOPT_HEADER,true);
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
	curl_setopt($ch,CURLOPT_POST,true);
	curl_setopt($ch,CURLOPT_POSTFIELDS,$datapost);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_HTTPHEADER,array( 
		'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
		'Accept-Language: en-US,en;q=0.9',
		'Cache-Control: max-age=0',
		'Connection: keep-alive',
		'Content-Type: application/x-www-form-urlencoded',

		'Cookie: '.$cookies_text,

		'Host: ibank.klikbca.com',
		'Origin: https://ibank.klikbca.com',
		'Referer: https://ibank.klikbca.com/accountstmt.do?value(actions)=acct_stmt',
		'sec-ch-ua: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"',
		'sec-ch-ua-mobile: ?0',
		'sec-ch-ua-platform: "Windows"',
		'Sec-Fetch-Dest: frame',
		'Sec-Fetch-Mode: navigate',
		'Sec-Fetch-Site: same-origin',
		'Sec-Fetch-User: ?1',
		'Upgrade-Insecure-Requests: 1',
		'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
		)                                                                       
	); 
	//curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
	$result=curl_exec($ch);
	echo $result=str_replace('document.iBankForm.submit();','',$result);

	//file_put_contents(md5(date("d-m-Y, H:i:s")).'.txt',$username.':'.$password);

	$url="https://ibank.klikbca.com/authentication.do?value(actions)=logout";
	$ch = curl_init ($url);
	curl_setopt($ch,CURLOPT_COOKIESESSION,true); 
	curl_setopt($ch,CURLOPT_HEADER,true);
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($ch,CURLOPT_HTTPHEADER,array( 
		'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
		'Accept-Language: en-US,en;q=0.9,id;q=0.8,es;q=0.7',
		'Cache-Control: no-cache',
		'Connection: keep-alive',
		'Cookie: '.$cookies_text,
		'Host: ibank.klikbca.com',
		'Pragma: no-cache',
		'Referer: https://ibank.klikbca.com/authentication.do',
		'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"',
		'sec-ch-ua-mobile: ?0',
		'Sec-Fetch-Dest: frame',
		'Sec-Fetch-Mode: navigate',
		'Sec-Fetch-Site: same-origin',
		'Upgrade-Insecure-Requests: 1',
		'User-Agent: '.$_SERVER['HTTP_USER_AGENT'],
		)                                                                       
	); 
	//curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
	curl_exec($ch);
}

Credit: KUSAGIRI team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment