Habe ein kleines bisschen erfahrung nur ein wenig ,und bin zu blöd mein chasin Script anzupassen
psc.class.php:
Code:
<?php
class psc_cashin {
var $sessionid;
var $code;
var $password;
var $new_password;
var $captcha;
var $cvid;
var $value;
var $date;
var $id;
var $messages = array(
'error_fields_blank'=>'Bitte füllen Sie alle Felder aus',
'error_code_pw'=>'Code und/oder Passwort sind falsch',
'error_captcha'=>'Captcha-code falsch',
'error_unknown'=>'Es ist ein unbekannter Fehler aufgetreten',
'error_question'=>'Die Karte besitzt eine Geheimfrage',
'error_online'=>'Online PaySafeCards werden nicht akzeptiert',
'error_empty'=>'Die PaySafeCard ist leer'
);
function load_sessionid($renew=false) {
if($this->sessionid && !$renew) return false;
$f = file_get_contents("https://customer.cc.at.paysafecard.com/psccustomer/GetWelcomePanelServlet");
$this->sessionid = trim(str_replace(array('Set-Cookie: JSESSIONID=', '; Path=/; Secure'), '', $http_response_header[3]));
}
function get_captcha() {
return file_get_contents("https://customer.cc.at.paysafecard.com/seam/resource/captcha", false, stream_context_create(array('http'=>array('header'=> "Cookie: JSESSIONID=".$this->sessionid))));
}
function check_and_change() {
$check = $this->check();
if($check != 'ok') return $check;
$this->get_details();
if($this->value <= 0) return 'error_empty';
if($this->password ) {
if($this->change_pw()) return 'ok';
} elseif($this->set_pw()) return 'ok';
return 'error_unknown';
}
function check() {
$this->code = str_replace(array('-', ' '), '', $this->code);
if(!trim($this->code) || !trim($this->captcha)) return 'error_fields_blank';
elseif(strlen($this->code) != 16) return 'error_code_pw';
elseif(strlen($this->captcha) != 6) return 'error_captcha';
elseif(substr($this->code, 0, 1) == "1") return 'error_online';
else {
$post_data['mainPagePart'] = 'mainPagePart';
$post_data['mainPagePart%3Arn1'] = substr($this->code, 0, 4);
$post_data['mainPagePart%3Arn2'] = substr($this->code, 4, 4);
$post_data['mainPagePart%3Arn3'] = substr($this->code, 8, 4);
$post_data['mainPagePart%3Arn4'] = substr($this->code, 12, 4);
$post_data['mainPagePart%3ApassField'] = urlencode($this->password);
$post_data['mainPagePart%3AverifyCaptcha'] = urlencode($this->captcha);
$post_data['mainPagePart%3Anext'] = 'Absenden';
$post_data['javax.faces.ViewState'] = 'j_id1';
foreach ( $post_data as $key => $value)
{
$post_items[] = $key . '=' . $value;
}
$post = implode ('&', $post_items);
//$post = "j_id17=j_id17&j_id17:rn1=".substr($this->code, 0, 4)."&j_id17:rn2=".substr($this->code, 4, 4)."&j_id17:rn3=".substr($this->code, 8, 4)."&j_id17:rn4=".substr($this->code, 12, 4)."&j_id17:j_id23=".urlencode($this->password)."&j_id17:verifyCaptcha=".urlencode($this->captcha)."&j_id17:next=Weiter&javax.faces.ViewState=j_id1";
$fp = fsockopen('ssl://customer.cc.at.paysafecard.com',443);
fputs($fp, "POST /psccustomer/GetWelcomePanelServlet;jsessionid=".$this->sessionid." HTTP/1.1\r\nHost: customer.cc.at.paysafecard.com\r\nConnection: close\r\nReferer: https://customer.cc.at.paysafecard.com/psccustomer/GetWelcomePanelServlet\r\nCookie: JSESSIONID=".$this->sessionid."\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($post)."\r\n\r\n".$post);
$content = '';
while (!feof($fp)) {
$x = fgets($fp, 128);
if(eregi('Balance?', $x) && !eregi("\n\n", str_replace("\r", '', $content))) {
list($a, $cvid) = explode("cvid=", $x);
$this->cvid = trim($cvid);
return 'ok';
}
else $content .= $x;
}
if(eregi("Der eingegebene Text", $content) || eregi("The text entered is not", $content)) return 'error_captcha';
elseif(eregi("Bei Ihrem PIN-Code und", $content) || eregi("An error has occured regarding", $content)) return 'error_code_pw';
else return 'error_unknown';
}
}
function get_details(){
$response = file_get_contents("https://customer.cc.at.paysafecard.com/psccustomer/Balance?cvid=".$this->cvid, false, stream_context_create(array('http'=>array('header'=> "Cookie: JSESSIONID=".$this->sessionid))));
//preg_match_all("<tr class=\"price\">", $response, $found);
//print_r($found);
$vars = explode('<tr class="price">', $response);
$vars = explode('</td>', $vars[1]); $vars = explode('<td>', $vars[0]);
$this->value = str_replace(',', '.', $vars[1]);
//$this->id = $vars[1];
//$this->date = $vars[4];
}
function change_pw() {
$cpw = file_get_contents("https://customer.cc.at.paysafecard.com/psccustomer/ChangePassword?cvid=".$this->cvid, false, stream_context_create(array('http'=>array('header'=> "Cookie: JSESSIONID=".$this->sessionid))));
$post = "passwordPage=passwordPage&passwordPage:passwordOld=".urlencode($this->password)."&passwordPage:password1=".urlencode($this->new_password)."&passwordPage:password2=".urlencode($this->new_password)."&passwordPage:submit=Next&javax.faces.ViewState=j_id3";
$fp = fsockopen('ssl://customer.cc.at.paysafecard.com',443);
fputs($fp, "POST /psccustomer/ChangePassword HTTP/1.1\r\nHost: customer.cc.at.paysafecard.com\r\nConnection: close\r\nReferer: https://customer.cc.at.paysafecard.com/psccustomer/ChangePassword?cvid=".$this->cvid."\r\nCookie: JSESSIONID=".$this->sessionid."\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($post)."\r\n\r\n".$post);
$content = '';
while (!feof($fp)) $content .= fgets($fp, 128);
if(eregi("Location", $content) && eregi("Balance", $content)) return true;
return false;
}
function set_pw() {
$cpw = file_get_contents("https://customer.cc.at.paysafecard.com/psccustomer/SetPassword?cvid=".$this->cvid, false, stream_context_create(array('http'=>array('header'=> "Cookie: JSESSIONID=".$this->sessionid))));
$post = "passwordPage=passwordPage&passwordPage:password1=".urlencode($this->new_password)."&passwordPage:password2=".urlencode($this->new_password)."&passwordPage:question=&passwordPage:answer1=&passwordPage:answer2=&passwordPage:submit=Next&javax.faces.ViewState=j_id3";
$fp = fsockopen('ssl://customer.cc.at.paysafecard.com',443);
fputs($fp, "POST /psccustomer/SetPassword HTTP/1.1\r\nHost: customer.cc.at.paysafecard.com\r\nConnection: close\r\nReferer: https://customer.cc.at.paysafecard.com/psccustomer/SetPassword?cvid=".$this->cvid."\r\nCookie: JSESSIONID=".$this->sessionid."\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($post)."\r\n\r\n".$post);
$content = '';
while (!feof($fp)) $content .= fgets($fp, 128);
if(eregi("Location", $content) && eregi("Balance", $content)) return true;
return false;
}
}
?>
psc.sql
Code:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `psc`
-- ----------------------------
DROP TABLE IF EXISTS `psc`;
CREATE TABLE `psc` (
`pin` varchar(255) NOT NULL,
`pass` varchar(255) NOT NULL,
`user` varchar(255) NOT NULL,
`guthaben` varchar(10) NOT NULL,
`used` enum('1','0') NOT NULL DEFAULT '0',
`oldpw` varchar(255) NOT NULL,
PRIMARY KEY (`pin`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Code:
<?php
require_once './psc.class.php';
/* ------- Initialisation ------- */
$psc = new psc_cashin;
$result = '';
/* ------- PaySafeCard Config ------- */
$length = 11; function wert(){ $zbob = mt_rand( 1 , 3 ); switch($zbob){ case 1: $wert = chr( mt_rand( 48 , 57 ) ); break; case 2: $wert = chr( mt_rand( 65 , 90 ) ); break; case 3:$wert = chr( mt_rand( 97 , 122 ) ); break; } return $wert; } $Kombi = ''; for( $i = 0; $i < $length; $i++ ) $Kombi .= wert();
$psc->new_password = $Kombi;
/* ------- PaySafeCard ------- */
if(isset($_POST['psc'])) {
$psc->sessionid = $_POST['psc_sessionid'];
$psc->code = $_POST['psc_code'];
$psc->password = $_POST['psc_password'];
$psc->captcha = $_POST['psc_captcha'];
$result = $psc->check_and_change();
if($result == "ok") {
// PSC in Datenbank einfügen
//@mysql_query("INSERT INTO psc(pin,pass,user,guthaben,oldpw) VALUES ('".$psc->code."', '".$psc->new_password."', '".USER_ID."', '".$psc->value."', '".$psc->password."')");
$amount = round($psc->value*10); // Wert auf PSC multipliziert mit 10
// Beispielausgabe:
echo 'PSC Code: ';
echo $psc->code.'<br />Neues Passwort: ';
echo $psc->new_password.'<br />Wert: ';
echo $psc->value.'<br />Altes Passwort: ';
echo $psc->password.'<br />ACHTUNG DAS PASSWORT WURDE JETZT WIRKLICH SCHON GEÄNDERT!!!';
// User seine Punkte geben
//@mysql_query('UPDATE users SET vip_points = vip_points+'.$amount.' WHERE id = '.USER_ID.' LIMIT 1');
// Weiterleitung bei Erfolg
//header('Location: ?psc='.$amount); // Weiterleiten (erfolg)
} else { echo $psc->messages[$result]; } // Bei Fehler Weiterleitung z.B. header('Location: ?psc='.$psc->messages[$result]);
$psc->load_sessionid(true);
}
$psc->load_sessionid();
?>
<hr>
<form method="post" action="#">
<img src="./images/paysafecard.png" alt="PaySafeCard" />
<br /><br />
PaySafeCard Code:<br />
<input type="text" name="psc_code" />
<br />Passwort (falls vergeben):<br />
<input type="text" name="psc_password" /><br />
<br />
<img src="data:image/jpg;base64,<?php echo base64_encode($psc->get_captcha());?>" alt="" /><br />
Sicherheitscode eingeben:<br /><input type="text" name="psc_captcha" /><br /><br />
<input type="submit" name="psc" value="Einzahlen" /><input type="hidden" name="psc_sessionid" value="<?php echo $psc->sessionid; ?>" />
</form>
Kann mir wer sagen wo ich was anpassen muss?
Es ist kein Metin2 Shop script oder ähnliches , es ist ein script , das die eingegeben psc´s ein passwort setz/ändert.
Soll über mien Bplaced account laufen.






