Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:sqlite3:allgemein

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

programmieren:sqlite3:allgemein [27/04/2020 17:53] – [Links] connyprogrammieren:sqlite3:allgemein [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 ===== SQLITE 3 & PHP ===== ===== SQLITE 3 & PHP =====
  
-{{ :programmieren:sqlite3:sqlite370.svg.png?600 |}}+{{ :programmieren:sqlite3:sqlite370.svg.png?400 |}}
  
 ===== Adress Datenbank Beispiel ===== ===== Adress Datenbank Beispiel =====
Zeile 13: Zeile 13:
 Als schnelle, zuverlässige und relationale Datenbank ist SQLite bestens für Web-Anwendungen geeignet und optimiert für mobile Geräte.\\ Als schnelle, zuverlässige und relationale Datenbank ist SQLite bestens für Web-Anwendungen geeignet und optimiert für mobile Geräte.\\
  
 +<WRAP center round important 60%>
 +Für die Sicherheit ist es wichtig sich ein Konzept zu überlegen um SQL Injections zu vermeiden. Dafür gibt es verschiedene Ansätze welche auch teilweise in diesem Beitrag beschrieben werden. \\
 +Man sollte sich überlegen bei Datenbankzugriffen in Zukunft auf PDO zu setzen, weil hier standardmäßig Prepared Statements unterstützt werden. Hiermit ist man wesentlich sicherer.
 +\\
 +Seite mit PDO Script: http://www.nof-tutorials.com/Datenbank-SQLite/tutorial.html\\
 +</WRAP>
  
  
Zeile 138: Zeile 144:
 exec wird für INSERT, UPDATE und DELETE benutzt. exec wird für INSERT, UPDATE und DELETE benutzt.
 <code> <code>
-$db->exec("UPDATE <Tabelle> SET name=$_name, strasse=$_strasse, plz=$_plz, ort=$_ort WHERE ID = 6");+$db->exec("UPDATE <Tabelle> SET name='$_name', strasse='$_strasse', plz='$_plz', ort='$_ortWHERE ID = 6");
 </code> </code>
  
Zeile 292: Zeile 298:
 </code> </code>
  
 +Guter Beitrag: https://wiki.selfhtml.org/wiki/PHP/Tutorials/Reloadsperre
 ==== CSV Import ==== ==== CSV Import ====
  
Zeile 336: Zeile 342:
          }          }
 } }
 +</code>
 +
 +<code>
 +$smt = $db->prepare("insert into names (name, email) values (':name', ':email')");
 +$smt->bindValue(':name', $_POST['post_name'], SQLITE3_TEXT);
 +$smt->bindValue(':email', $_POST['post_email'], SQLITE3_TEXT);
 +
 +$smt->execute();
 +</code>
 +
 +==== escapeString ====
 +Gibt eine passend maskierte Zeichenkette zurück - entfernt Sonderzeichen und erzeugt  eine Zeichenkette welche ohne Bedenken in einer SQL-Anfrage benutzt werden kann. 
 +<code>
 +$unsafe = $_GET['nastyvar'];
 +$safe = SQLite3::escapeString($unsafe);
 +$sql = "INSERT INTO table (field) VALUES ($safe);";
 +echo ($sql);
 +</code>
 +
 +<code>
 + $url = $db->escapeString($url);
 +</code>
 +
 +
 +==== Variablen prüfen ====
 +Variablen sollten auch geprüft werden ob sie den gewünschten Inhalt Typ haben.\\ 
 +Hierfür gibt es in PHP die CTYPE Funktionen\\
 +==== XXX ====
 +Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um\\
 +https://www.php.net/manual/de/function.htmlentities.php
 +
 +
 +posted sollten so behandelt werden\\
 +<code>
 +        $name=htmlspecialchars(strip_tags($_POST['name']));
 </code> </code>
 ===== Links ===== ===== Links =====
programmieren/sqlite3/allgemein.1588002827.txt.gz · Zuletzt geändert: 27/04/2020 16:53 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki