1. Dashboard
  2. Articles
  3. Forum
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. webEdition Forum
  2. Forum
  3. Deutschsprachiges Support Forum
  4. Web-Technik

Verwendung $DB_WE / SQL-Injection

  • e-site
  • July 18, 2023 at 3:06 PM
1st Official Post
  • e-site
    Student
    Reactions Received
    7
    Posts
    110
    • July 18, 2023 at 3:06 PM
    • #1

    Hallo zusammen,

    ich habe bisher immer innerhalb webEdition PDO bei Datenbankabfragen/Inserts/Updates usw. verwendet und will etwas mehr mit $DB_WE arbeiten. Was mir einfach fehlt sind die Prepared Statements, das ist mit der Klasse nicht möglich, oder? Hab zumindest nichts gefunden. Wie macht Ihr das gegen SQL-Injection? Mit der Methode escape ist man safe?

    Code
    $db->escape($select);
    $data = $db->getAllq($select);

    Mehr als das habe ich nicht gefunden: https://documentation.webedition.org/entwickler-und…e_functions.php

    Gruß Heiko

  • coolworx
    Moderator
    Reactions Received
    3
    Posts
    47
    • July 18, 2023 at 4:09 PM
    • Official Post
    • #2

    Hallo Heiko,

    i. d. R. hast Du ja vorher die Daten zur Verfügung, die Du in die DB nachträglich schreiben möchtest.

    Angenommen, Du möchtest einen Feldwert in der KV nachtragen, sagen wir "Beruf", dann kannst Du das etwa so machen:

    <we:var type="request" name="Beruf" nameto="Beruf" to="local" prepareSQL="true" />

    Viele Grüße
    Ulrich

    coolworx

    https://www.coolworx.de

    • Next Official Post
  • e-site
    Student
    Reactions Received
    7
    Posts
    110
    • July 18, 2023 at 4:31 PM
    • #3

    Hallo Ulrich, danke für dein Feedback.

    Ich verarbeite die Daten z.B. für eine Newsletteranmeldung oder Kontaktformularen per Ajax und mit PHP/PDO und keinen We-Tags. Ich wollte dort zumindest statt PDO mal mit $DB_WE arbeiten.

    Ich merke, dass ich leider zu wenig mit webEdition-Tags arbeite.

  • coolworx
    Moderator
    Reactions Received
    3
    Posts
    47
    • July 18, 2023 at 4:36 PM
    • Official Post
    • #4

    Hallo Heiko,

    webEdition stellt mit seinen we-tags wunderbare und sehr, sehr umfangreiche Möglichkeiten zur Verfügung, weshalb man alleine schon aus Gründen der Update-Fähigkeiten möglichst viel mit diesen we-tag umsetzen sollte. Insofern kann ich nur empfehlen, möglichst viel auf we-tags umzustellen.

    Für die von Dir genannte Vorgehensweise kann ich Dir leider nicht viel sagen.

    Viele Grüße
    Ulrich

    coolworx

    https://www.coolworx.de

    • Previous Official Post
    • Next Official Post
  • e-site
    Student
    Reactions Received
    7
    Posts
    110
    • July 19, 2023 at 8:24 AM
    • #5

    Hallo Ulrich,

    zumindest habe ich jetzt festgestellt, dass nur die Benutzereingaben darüber laufen sollten:

    Code
    $input = $db->escape($input); 

    Ist anscheinend auch so gedacht wie bei mysqli?

    Code
    $email = $mysqli->real_escape_string($_POST['email']);

    Vielleicht kann man die Doku diesbezüglich aktualisieren?

    https://documentation.webedition.org/entwickler-und-agenturen/tipps-und-rezepte/imi__database_functions.php

    Ich bin gerade dran mehr mich mit den Formular Tags zu beschäftigen und werde sicherlich noch einige Fragen haben.

    Gruß Heiko

  • Online
    mokraemer
    Senior Member
    Reactions Received
    13
    Posts
    174
    • July 19, 2023 at 3:28 PM
    • Official Post
    • #6

    der arraySetter kann das direkt für mehrere Sachen erledigen.

    • Previous Official Post

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login

Donations

200.00 EUR

Donate now
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™