suche:
if (!isset($_POST['buy'])) $_POST['buy']= "";
und füge darunter das hier ein:
$_POST['id']=abs(intval($_POST['id']));
suche:
if (!isset($_POST['buy'])) $_POST['buy']= "";
und füge darunter das hier ein:
$_POST['id']=abs(intval($_POST['id']));
Dankeschön, waren das alle, die in dem Skript existierten ?
wieso arbeiten die Leute hier eigentlich nicht mit einer diff ähnlichen Software ?
Gruß
Drakor
Wen meinst du damit, und was sollte das bringen?
Dadurch beheben sich Bugs auch nicht von selbst und ein Großteil der "Kunden" hat schon Probleme, Dateien korrekt via FTP hochzuladen, da wäre jeder diff-ähnliche Ansatz wohl zu viel verlangt (geschweige denn können sicher auch viele der im Klammlose-Bereich tätigen "Programmierer" nicht richtig mit solchen Tools umgehen).
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
Wieso, durch das diff wirds doch noch einfacher ?
Dann braucht der User das Addon nurnoch hochladen und der Progger nur ne .diff als Patch bereitstellen.
(wobei das diff Format wohl nicht ganz tauglich ist, aber aus anderen Gründen)
Du hast noch nie mit diff-Files gearbeitet oder ?
Ich stell mir das eher so vor: Im Adminforce gibt es den Unterpunkt "Diff-Patch" mit einem "Hochladen"-Button. Dort wird die Diff-File hochgeladen und vom Addon ausgeführt... fertig. Unten drunter steht jeweils welche Diff-File bereits angewandt wurde. Also das ist doch sehr viel einfacher als irgendson Anleitungsgedöhns.
Drakor
Ausgeführt via Systemaufruf? Kannste dann schonmal knicken da die meisten Billig-Webspace nutzen, wo das nicht möglich ist.
Ausgeführt via PHP Skript? Auf alle Dateien Schreibrechte (dass machen die Webbis zwar sicher 1x, wenn man es ihnen sagt, aber ich würde das nicht machen), nötige Skripte dafür müssten wohl noch mind. 1 Jahr lang PHP 4 unterstützen.
Und der Faktor, dass nicht alle, die Addons vertreiben, diff's erstellen können/wollen, insofern würde wohl selbst wenn man jetzt das ins Grundskript integriert und ausfürliche Anleitungen bereitstellt, nur ein sehr kleiner Anteil bestehender Addons angepasst werden, und auch von den neuen nur ein kleiner Teil damit erstellt werden.
Daher hat vermutlich kaum jemand Lust, sowas einzubauen.
Und selbst wenn man das alles ausser Acht lässt, spätestens sobald 2 Addons bzw. deren diff's konkurrieren, steigen 98% aller Klammlose-Webbis aus, dass ist zwar bei den aktuellen "Anleitungen" das selbe Problem, aber nur dafür extra was Neues zu erfinden, bei dem die gleichen Probleme auftreten, glaube ich will auch kaum jemand
Ich würde so ein System bspw. auch nicht nutzen, da man so viel "Schrott" untergejubelt bekommt, so dass ich mir gerne erst mal ganz genau anschaue, was der Ersteller da "gebastelt" hat, wäre mit einem diff File natürlich auch möglich, aber wenn ich schon beim durchschauen bin hab ich die Codezeilen genauso schnell auch reinkopiert.
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
Was genau soll das bringen?
Das:
stellt nur fest ob "buy" im _POST-Array vorhanden ist, ist es nicht vorhanden wird es ja noch vernünftig deklariert, ist es aber vorhanden, wird es nicht mal auf Inhalt geprüft.PHP-Code:
if (!isset($_POST['buy'])) $_POST['buy']= "";
Vernünftiger wäre hier sowas (wenn "buy" ein string ist):
$buy = (!isset($_POST['buy']) ? '' : addslashes($_POST['buy']));
Wobei das ganze natürlich auch über andere Funktionen escapt werden kann/darf
Achso.das ist auch kein SQL, sondern ein PHP-Injection ;-)
stellt sicher das $_POST['id'] eine positive Ganzzahl ist.PHP-Code:
$_POST['id']=abs(intval($_POST['id']));
addslashes Ist nicht sicher lässt sich sehr einfach aus hebeln..
Wenn du weißt das da nur eine Ganzzahl kommen darf, dann sollte man das auch darauf Prüfen.
Und wenn du die ID so wie sie in die $var gespeichert ist an deine DB via aufruf übergibst ist es eine SQL Injektion
PHP wäre wenn du Include($_POST["pagename"].".php"); machen würdest
Denn pagename= http://meineurl.tls/bösesscript führt das dann aus.