AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein PHP-Variablen wiederholt an Javascript übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

PHP-Variablen wiederholt an Javascript übergeben

Ein Thema von delphinub23 · begonnen am 2. Jul 2012 · letzter Beitrag vom 4. Jul 2012
Antwort Antwort
schlagzu

Registriert seit: 11. Okt 2010
86 Beiträge
 
Delphi XE Starter
 
#1

AW: PHP-Variablen wiederholt an Javascript übergeben

  Alt 2. Jul 2012, 22:37
der php script dazu:

Code:
         
$id = $_POST['row'];
$sql = 'select * from '.$GLOBALS['sql_pre'].'Stations';
$result = sql_query($sql , array(''));
if (count($result) >= 2)
{
$ajax_error = '3';
$check_error = "Eine Station muss bleiben!";
}
$sql = 'DELETE FROM '.$GLOBALS['sql_pre'].'Stations WHERE ID = '.$id;
$result = sql_query($sql , array(''));
echo "<?phpxml version=\"1.0\" encoding=\"utf-8\"?>\n";
echo "<content>\n";
echo " <error code=\"".$ajax_error."\" name=\"".$check_error."\"/>\n";   
echo "<deleted id=\"".$id."\"/>\n";
echo "</content>\n";
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#2

AW: PHP-Variablen wiederholt an Javascript übergeben

  Alt 3. Jul 2012, 09:41
Das PHP-Script ist hochgradig unsicher!

SQL-Injections !
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
schlagzu

Registriert seit: 11. Okt 2010
86 Beiträge
 
Delphi XE Starter
 
#3

AW: PHP-Variablen wiederholt an Javascript übergeben

  Alt 3. Jul 2012, 14:04
Code:
<?php
   $badwords = Array('/(.*)(SELECT)( *?)(\*|\'?[a-z]\'? *?,? *?){1,}( *?)(FROM)(.*)/',
                 '/(.*)(DELETE)( *?)(\[[A-Z0-9]\],?){0,4}( *?)(FROM)(.*)/',
                 '/(.*)(DROP|ALTER)( *?)(\[[A-Z0-9]\],?){0,}( *?)(TABLE)( *?)(.*)/',
                 '/(.*)(UPDATE)( *?)([a-z0-9[]]*?)( *?)(SET)( *?)(.*)/',
                 '/(.*)(INSERT)( *?)(\[[A-Z0-9]\],?){0,4}( *?)(INTO)( *?)([A-Z0-9_\-]*)( *?)(VALUES)(.*)/',
                 '/(.*)( *?)([A-Z0-9]{1,})(\'|"| *?)(AND|OR)( *?)(\'?|"?)([A-Z0-9]*)(\'?|"?)( *?)([=<>]{1,2})(.*)/');
   
function anti_inject(&$array)
   {
   global $badwords;
      foreach ($array as $key => $value)
      {
      $value = strtoupper($value);
      foreach ($badwords as $bad)
         {
         $bad = strtoupper($bad);
         if (preg_match($bad,$value))
            {
              return true;
            }
         }
      }
   unset($bad);
   foreach ($array as $key => &$value)
      {
      $value = addslashes(stripslashes(mysql_real_escape_string($value)));
      }
   unset($value);
   return false;
   }
   
if ((anti_inject($_POST)) or (anti_inject($_GET)) or (anti_inject($_COOKIE)))
   {
   die('Injectionsversuch erkannt!');
   }
?>
jetzt ist er sicher!
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#4

AW: PHP-Variablen wiederholt an Javascript übergeben

  Alt 3. Jul 2012, 15:04
Um Gottes Willen, bloß nicht! So sollte man niemals programmieren! Bitte füge das letztere Script nicht in dein Projekt ein.

Der gesamte PHP-Code aus #5 und #7 ist (nimm's bitte nicht persönlich) grauenhaft. Da sind so viele Negativbeispiele zu finden...

Was die Sicherheit des Scripts angeht reicht das hier völlig aus:

$id = intval($_POST['row']); Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
delphinub23

Registriert seit: 27. Okt 2010
Ort: Chemnitz
110 Beiträge
 
Delphi XE3 Professional
 
#5

AW: PHP-Variablen wiederholt an Javascript übergeben

  Alt 3. Jul 2012, 15:18
Danke für die vielen Antworten.

Zitat:
$id = intval($_POST['row']);
Die Zeile füllt doch die PHP-Variable mit dem Wert, der mit dem Aufruf übergeben wird, oder?
  Mit Zitat antworten Zitat
schlagzu

Registriert seit: 11. Okt 2010
86 Beiträge
 
Delphi XE Starter
 
#6

AW: PHP-Variablen wiederholt an Javascript übergeben

  Alt 3. Jul 2012, 15:34
Sicher reicht aus, aber in dem Projekt wo ich das kommen so viele Eingaben zusammen (beben int, Text, ect.) und das scannt einfach alles, wenn man mal vergisst zu überprüfen.
Des weiteren war das nur n Ausschnitt aus einem bestehendem Projekt, und ich hab mir php selbst beigebracht. Aber wenn du möchtest kannst du beide Ausschnitte korrigieren.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#7

AW: PHP-Variablen wiederholt an Javascript übergeben

  Alt 3. Jul 2012, 16:05
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

Die Negativbeispiele sehe ich auf Anhieb nicht klar heraus, habe aber nicht annähernd soviel PHP gesehen wie Valle.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.

Geändert von BUG ( 3. Jul 2012 um 17:57 Uhr)
  Mit Zitat antworten Zitat
delphinub23

Registriert seit: 27. Okt 2010
Ort: Chemnitz
110 Beiträge
 
Delphi XE3 Professional
 
#8

AW: PHP-Variablen wiederholt an Javascript übergeben

  Alt 3. Jul 2012, 19:57
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz