Skip to content
Snippets Groups Projects
Commit b7c52d86 authored by Henoch Einbier's avatar Henoch Einbier
Browse files

Update einzahlen.php

-secured PDO queries with bindParam
parent 9e5caba2
Branches
Tags
2 merge requests!46Release 3.0,!22Update einzahlen.php
...@@ -9,25 +9,34 @@ if(!isset($einzahlmeldung)) $einzahlmeldung = ""; ...@@ -9,25 +9,34 @@ if(!isset($einzahlmeldung)) $einzahlmeldung = "";
$tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds"); $tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds");
$schnittstellen_res = sql::$db->query("SELECT t1.*, t2.* FROM "._VMS_."_multi_konten t2 $schnittstellen_res = sql::$db->prepare("SELECT t1.*, t2.* FROM "._VMS_."_multi_konten t2
LEFT JOIN "._VMS_."_schnittstelle t1 ON t1.schnittstelle=t2.waehrung LEFT JOIN "._VMS_."_schnittstelle t1 ON t1.schnittstelle=t2.waehrung
WHERE t2.uid=".$_SESSION['uid']." AND (t1.aktiv = 1 OR t1.aktiv = 3)"); WHERE t2.uid=:session_uid AND (t1.aktiv = 1 OR t1.aktiv = 3)");
$schnittstellen_res -> bindParam(':session_uid', $_SESSION['uid'], PDO::PARAM_INT);
$schnittstellen_res -> execute();
while($_temp = $schnittstellen_res->fetch() ){ while($_temp = $schnittstellen_res->fetch() ){
$schnittstellen[] = $_temp; $schnittstellen[] = $_temp;
$erlaubte_schnittstellen[] = $_temp['schnittstelle']; $erlaubte_schnittstellen[] = $_temp['schnittstelle'];
} }
$sql = sql::$db->query("SELECT `kontostand` FROM "._VMS_."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"); $sql = sql::$db->prepare("SELECT `kontostand` FROM "._VMS_."_kontodaten WHERE uid=:session_uid LIMIT 1");
$sql -> bindParam(':session_uid', $_SESSION['uid'], PDO::PARAM_INT);
$sql -> execute();
$kontodaten = $sql->fetch(); $kontodaten = $sql->fetch();
if(isset($_POST['waehrung']) && $_POST['einzahlen'] == 'Einzahlen' && $_POST['uid_passwort'] && $_POST['trans_menge'] && in_array($_POST['waehrung'], $erlaubte_schnittstellen)){ if(isset($_POST['waehrung']) && $_POST['einzahlen'] == 'Einzahlen' && $_POST['uid_passwort'] && $_POST['trans_menge'] && in_array($_POST['waehrung'], $erlaubte_schnittstellen)){
$schnittstelle_f = sql::$db->query("SELECT * FROM "._VMS_."_schnittstelle WHERE (aktiv = 1 OR aktiv= 3) AND schnittstelle='".$_POST['waehrung']."' LIMIT 1"); $schnittstelle_f = sql::$db->prepare("SELECT * FROM "._VMS_."_schnittstelle WHERE (aktiv = 1 OR aktiv= 3) AND schnittstelle=:waehrung LIMIT 1");
$schnittstelle_f -> bindParam(':waehrung', $_POST['waehrung'], PDO::PARAM_STR);
$schnittstelle_f -> execute();
if($schnittstelle_f->rowCount() == 1){ if($schnittstelle_f->rowCount() == 1){
$schnittstelle = $schnittstelle_f->fetch();; $schnittstelle = $schnittstelle_f->fetch();;
if($schnittstelle['anfragen_user'] != 0){ if($schnittstelle['anfragen_user'] != 0){
$sql = sql::$db->query("SELECT * FROM "._VMS_."_schnittstelle_anfragen WHERE uid='".$_SESSION['uid']."' AND zeit='".$tag."'"); $sql = sql::$db->prepare("SELECT * FROM "._VMS_."_schnittstelle_anfragen WHERE uid=:session_uid AND zeit=:tag");
$sql -> bindParam(':session_uid', $_SESSION['uid'], PDO::PARAM_INT);
$sql -> bindParam(':tag', $tag, PDO::PARAM_INT);
$sql -> execute();
$s_verbrauch = $sql->rowCount(); $s_verbrauch = $sql->rowCount();
}else $s_verbrauch = 0; }else $s_verbrauch = 0;
...@@ -36,8 +45,10 @@ if(isset($_POST['waehrung']) && $_POST['einzahlen'] == 'Einzahlen' && $_POST['ui ...@@ -36,8 +45,10 @@ if(isset($_POST['waehrung']) && $_POST['einzahlen'] == 'Einzahlen' && $_POST['ui
$einzahlgrenze = $sql->fetch(); $einzahlgrenze = $sql->fetch();
if(filter_var($_POST['trans_menge'],FILTER_VALIDATE_FLOAT) and $_POST['trans_menge'] >= $schnittstelle['einzahlsumme'] and ($kontodaten['kontostand'] + ($_POST['trans_menge'] / $schnittstelle['wertepunkt'])) <= $einzahlgrenze['einzahlgrenze']){ if(filter_var($_POST['trans_menge'],FILTER_VALIDATE_FLOAT) and $_POST['trans_menge'] >= $schnittstelle['einzahlsumme'] and ($kontodaten['kontostand'] + ($_POST['trans_menge'] / $schnittstelle['wertepunkt'])) <= $einzahlgrenze['einzahlgrenze']){
if($schnittstelle['anfragen_user'] == 0 or $s_verbrauch < $schnittstelle['anfragen_user']){ if($schnittstelle['anfragen_user'] == 0 or $s_verbrauch < $schnittstelle['anfragen_user']){
$sql = sql::$db->prepare("SELECT kontoid FROM vms_multi_konten WHERE uid=? AND waehrung=? LIMIT 1"); $sql = sql::$db->prepare("SELECT kontoid FROM vms_multi_konten WHERE uid=:session_uid AND waehrung=:waehrung LIMIT 1");
$sql->execute(array($_SESSION['uid'], $_POST['waehrung'])); $sql -> bindParam(':session_uid', $_SESSION['uid'], PDO::PARAM_INT);
$sql -> bindParam(':waehrung', $_POST['waehrung'], PDO::PARAM_STR);
$sql->execute();
$konto = $sql->fetch(PDO::FETCH_ASSOC); $konto = $sql->fetch(PDO::FETCH_ASSOC);
$buchungs_id = create_code(14); $buchungs_id = create_code(14);
if($konto['kontoid'] != 0){ if($konto['kontoid'] != 0){
...@@ -80,13 +91,18 @@ if ($c == 0) {echo '<center>Keine Konten gefunden. Bitte schalte in deinem Userp ...@@ -80,13 +91,18 @@ if ($c == 0) {echo '<center>Keine Konten gefunden. Bitte schalte in deinem Userp
foot(); foot();
if(isset($_POST['waehrung']) && in_array($_POST['waehrung'], $erlaubte_schnittstellen)){ if(isset($_POST['waehrung']) && in_array($_POST['waehrung'], $erlaubte_schnittstellen)){
$sql = sql::$db->query("SELECT * FROM "._VMS_."_schnittstelle WHERE (aktiv = 1 OR aktiv= 3) AND schnittstelle='".$_POST['waehrung']."' LIMIT 1 "); $sql = sql::$db->prepare("SELECT * FROM "._VMS_."_schnittstelle WHERE (aktiv = 1 OR aktiv= 3) AND schnittstelle=:waehrung LIMIT 1 ");
$sql -> bindParam(':waehrung', $_POST['waehrung'], PDO::PARAM_STR);
$sql -> execute();
$schnittstelle = $sql->fetch(); $schnittstelle = $sql->fetch();
head("Einzahlen"); ?> head("Einzahlen"); ?>
<form action="" method="post"> <form action="" method="post">
<input type="hidden" name="waehrung" value="<?php echo $_POST['waehrung']; ?>"/> <input type="hidden" name="waehrung" value="<?php echo $_POST['waehrung']; ?>"/>
<?php <?php
$multi_kontoida = sql::$db->query("SELECT kontoid FROM "._VMS_."_multi_konten WHERE uid=".$_SESSION['uid']." AND waehrung='".$_POST['waehrung']."' LIMIT 1"); $multi_kontoida = sql::$db->prepare("SELECT kontoid FROM "._VMS_."_multi_konten WHERE uid=:session_uid AND waehrung=:waehrung LIMIT 1");
$multi_kontoida -> bindParam(':session_uid', $_SESSION['uid'], PDO::PARAM_INT);
$multi_kontoida -> bindParam(':waehrung', $_POST['waehrung'], PDO::PARAM_STR);
$multi_kontoida -> execute();
if($multi_kontoida->rowCount() == 0){ if($multi_kontoida->rowCount() == 0){
echo 'Bitte lege im Userprofil deine Konto-ID fest.'; echo 'Bitte lege im Userprofil deine Konto-ID fest.';
}else{ }else{
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment