Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP-Variablen wiederholt an Javascript übergeben (https://www.delphipraxis.net/169153-php-variablen-wiederholt-javascript-uebergeben.html)

BUG 3. Jul 2012 15:05

AW: PHP-Variablen wiederholt an Javascript übergeben
 
Zu deinem großen Projekt:
  1. Benutzte parametrisierte SQL-Anfragen!
  2. Betreibe, wo es geht, kein Blacklisting, sondern sondern überprüfe auf den Wertebereich, den du haben willst.
  3. Wo das nicht geht: Zum Filtern von Text (zB. nach "bösem" HTML) gibt es Projekte, die vermutlich besser machen als man selbst [1, 2, usw.].
  4. Gleiches gilt für das Erkennen von Angriffen.
Das sollte eigentlich nicht nur für PHP gelten :mrgreen:

Die Negativbeispiele sehe ich auf Anhieb nicht klar heraus, habe aber nicht annähernd soviel PHP gesehen wie Valle.

delphinub23 3. Jul 2012 18:57

AW: PHP-Variablen wiederholt an Javascript übergeben
 
Habe es nun wie folgt mit AJAX gelöst:
Ich rufe aus dem Javascript das PHP-Skript mit einem "Function"-Parameter auf.
In dem PHP-Skript lese ich den "Function"-Parameter aus und starte die übergebene Funktion.
Die Funktion schmeißt via dem "echo"-Befehl die globale Variable aus und diese wird dann im Callback (responseText) an die Javascript-Variable übergeben.

Das funktioniert mit vielen Anfragen nur synchron, aber das ist für meine Problemstellung kein Problem.

Danke für die Hilfe ;)

Grüße,
dnub

Valle 3. Jul 2012 20:48

AW: PHP-Variablen wiederholt an Javascript übergeben
 
@BUG:
  • Codeeinrückung
  • Verwendung von $GLOBALS
  • Verwendung von globalen Variablen allgemein
  • die SQL-Injection aus #5
  • Trennung von Logik, Darstellung und Datenbank (MVC)
  • unnötiges IDS statt Prävention durch ORM oder Parameter
  • Verwendung der veralteten MySQL-Funktionen
  • addslashes(stripslashes()) ?!
  • sowieso ist die angesprochene Zeile komisch!?
  • unvollständiger Schutz (es gibt noch andere SQL-Befehle)
  • eventuelle Probleme wenn das in einem Forum stünde, in dem einer SQL postet
  • die() statt gescheiter Fehlerbehandlung (--> HTTP-Status)
  • Verwendung von (hier unnötigen!) Pointern
  • strtoupper() statt case-insensitive preg_match
  • keine Überprüfung auf möglicherweise aktivierte Magic-Quotes
  • sehr ungünstiger Funktionsname anti_inject() (lässt nicht auf Rückgabewert schließen)
  • ich glaube nicht, dass count($result) funktioniert (mysql_num_results)
  • fehlerhaftes XML ("<?phpxml"?)

Ich finde sicher noch mehr wenn ich will. *g*

Ansonsten ist es am besten auf diese komischen IDS und präventive "Sicherheitssysteme" komplett zu verzichten. Einfach keine direkten SQL-Codes schreiben, dann kann eine SQL-Injection auch nicht passieren. Ein guter ORM oder wenigstens parametriesierte SQL-Queries sind hier vorzuziehen. Das andere Zeug bereitet früher oder später nur Probleme.

@delphinub23: Ich bin mir nicht ganz sicher, was du mit deiner Frage meinst. Schau doch mal in der Hilfe zu intval().

Liebe Grüße,
Valentin

Namenloser 3. Jul 2012 21:19

AW: PHP-Variablen wiederholt an Javascript übergeben
 
Zitat:

Zitat von delphinub23 (Beitrag 1173374)
Habe es nun wie folgt mit AJAX gelöst:
Ich rufe aus dem Javascript das PHP-Skript mit einem "Function"-Parameter auf.
In dem PHP-Skript lese ich den "Function"-Parameter aus und starte die übergebene Funktion.

Klingt gefährlich. Lege auf jeden Fall eine Whitelist an und erlaube nur Funktionen, bei denen du sicher bist, dass sie keine bösen Nebenwirkungen haben können.

schlagzu 4. Jul 2012 13:13

AW: PHP-Variablen wiederholt an Javascript übergeben
 
  • Codeeinrückung // wie gesagt ist nur n Auschnitt
  • Verwendung von $GLOBALS //warum nicht?
  • Verwendung von globalen Variablen allgemein
  • die SQL-Injection aus #5 //Ok ich sehe es ja ein
  • Trennung von Logik, Darstellung und Datenbank (MVC) // wie gesagt ist nur n Auschnitt! ich hab das nur schnell zusammengekratzt
  • unnötiges IDS statt Prävention durch ORM oder Parameter
  • Verwendung der veralteten MySQL-Funktionen //ich benutze keine MySQL befehle sondern eine eigene sie je nach dem mysql, mssql oder mssql für php >= 5.3 umleitet
  • addslashes(stripslashes()) ?! //ja es werden erst fehlende hinzugefügt und dann entfernt
  • sowieso ist die angesprochene Zeile komisch!? //mag sein
  • unvollständiger Schutz (es gibt noch andere SQL-Befehle) //ok das sehe ich ein
  • eventuelle Probleme wenn das in einem Forum stünde, in dem einer SQL postet //machts nicht
  • die() statt gescheiter Fehlerbehandlung (--> HTTP-Status) //an so was habe ich nicht gedacht
  • Verwendung von (hier unnötigen!) Pointern //ka wasdamit gemeint ist
  • strtoupper() statt case-insensitive preg_match //ok könnte man machen
  • keine Überprüfung auf möglicherweise aktivierte Magic-Quotes //läuft nur auf PHP >= 5.4
  • sehr ungünstiger Funktionsname anti_inject() (lässt nicht auf Rückgabewert schließen)
  • ich glaube nicht, dass count($result) funktioniert (mysql_num_results) //funktioniert und wie oben beschrieben habe ich das wegen verschiedenen sqls
  • fehlerhaftes XML ("<?phpxml"?) // :oops: das ist mir passiert als ich auf einmal alle <? zu <?php gemacht habe

Sry aber ich muss mich rechtfertigen um meine Gedankengänge aufzuzeigen


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz