Kann mir jemand diesen Script umscripten :
psc.class
Quote:
<?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($thi s->captcha)."&j_id17:next=Weiter&javax.faces.ViewSta te=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: 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&passwordPageasswordOl d=".urlencode($this->password)."&passwordPageassword1=".urlencode($t his->new_password)."&passwordPageassword2=".urlencod e($this->new_password)."&passwordPage:submit=Next&javax.fa ces.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&passwordPageassword1= ".urlencode($this->new_password)."&passwordPageassword2=".urlencod e($this->new_password)."&passwordPage:question=&passwordPa ge:answer1=&passwordPage:answer2=&passwordPage:sub mit=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_example
Quote:
<?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>
Dieses Script macht folgendes :
Du schreibst deinen PSC Code rein, dann ändert er das PW in ein X Billibiges und schreibt es dir oben hin (Das neue Passwort) So kann er es sehen.
Aber ich will das für mein Browsergame benutzen, damit sich Leute z.B. Coins etc. kaufen wollen ändert sich das Passwort in das Passwort, welches ich mir ausgesucht habe und sendet mir den Code per e-mail (Passwort weiß ich ja schon)
oder
Das Passwort wird in ein X-Billibiges geändert wie "x89u234n" und sendet mir den Code und das Passwort als e-mail, damit ich es ändern kann.
Dabei sollte diese Meldung kommen wenn es erfolgreich war und genügend €uro drauf sind :
Paysafecard stimmt überein. Sie bekommen in kürze ihre Ware.
Ich würde für das gute Stück max. 395 e*gold zahlen !
€ : so sieht das jetzige Script aus :
Es ist die psc_example
Ihr könnt auch auf h t t p : / / w w w . s c a r e d m t 2 . s q u a r e d 7 . c h / M y S Q L a d m i n
den Rest anschauen was im Ordner drinn war. ich habe einfach den kompletten ordner über Filezilla hochgeladen.
Inhalt :
einen .sql
2x php
ein Ordner mit Bild
Ihr könnt euch auch den gesammten Ordner runterladen, der im Anhang ist.