Dann ist das vms2 in meinen augen auch den preis wert. Das urscript an und für sich ist nicht schlecht gecodet. mal im ernst, wie das vms2 raus kam, haben es alle hoch gelobt, viele waren der meinung, dass 50 € noch zu billig war. Dann kamen die ersten Bugs, anfangs wurden diese durch updates behoben, dann hat man sich nimmer um auftretende bugs gekümmert.
vergleichbare scripte kann man sich kostenlos in sehr vielen verzeichnisse downloaden der einzigste unterschied ist das die Scripte nicht für Klamm gemacht worden sind und keine Klammschnittstelle und keine Klammbezahlung einbauet wurde.
Schau die doch mal ein paar kostenlose Comunityscripte an dagegen ist das VMS2 einne seeehhhhr light version.
Zum gecodet. Das ist nicht Fish und Fleisch. da wurde der richtige ansatz genommen. um das script sicherer zu machen wurden DB-Klassen angelget aber dann nicht für alles genommen. dann wird halt mit klasen und dann wieder ohne klassen geproggt. Was sprintf befehle und addslashes angeht werden diese einfach nicht genutzt, obwohl addslases gerade bei Feldern wo Texte submitte werden müssen ein muss ist, das der user auch sonderzeichen in seinen Texten haben kann. Der mailversandt funktioniert natürlich nicht den sobald in irgenteiner Mail ein ( ' ) drinne vorkommt wird der query abgebrochen. Warum weil kein addslashes genutzt wird. Mag ja sein das einige gerufen haben das script ist toll. Ich sage dazu nur auf dem ersten Blick und ich bezeichne mich nicht als Progger. Ich blutiger anfänger der ein bischen proggen kann und hier nur einige verstösse gegen sauberes Proggen sieht, die einen die Haare zu bergen stehn lässt.
ein ordenlicher insert sieht so aus:
PHP-Code:
db_query(sprintf("INSERT INTO vms_gebuchte_werbung (uid,tan,kid,ziel,banner,verdienst,preis,aufendhalt,menge,reload,sponsor,werbeart,status,beschreibung,mailtext,gueltig) VALUES (%s,'%s',%s,'%s','%s',%s,%s,%s,%s,%s,'%s','%s',%s,'%s','%s',%s)"
, 0
, md5($zielurl . $bannerurl)
, addslashes($val[0])
, $zielurl
, $bannerurl
, addslashes($val[5]*$qoute)
, addslashes($val[5])
, 10
, (integer)$val[4]
, ($val[2]*60*60)
, addslashes("forcedlose")
, addslashes("forcedbanner")
, 1
, ""
, ""
, 0
));
und nicht so:
PHP-Code:
db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,beschreibung,mailtext,preis,verdienst,aufendhalt,menge,sponsor,werbeart,gueltig) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_name."','".$int_text."','".$int_preis."','".$int_verdienst."','".$int_aufenthalt."','".$int_menge."','lose-ads','paidmail','".$gueltig."')");