add test sql injection, add protectin agains it (lvl. 1)
This commit is contained in:
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
function vigenere($text,$shift){
|
function vigenere($text,$code){
|
||||||
$result = "";
|
$result = "";
|
||||||
|
|
||||||
for ($i = 0; $i < strlen($text); $i++){
|
for ($i = 0; $i < strlen($text); $i++){
|
||||||
$shift = $shift[$i%strlen($shift)];
|
$shift = $code[$i%strlen($code)-1];
|
||||||
$letter = $text[$i];
|
$letter = $text[$i];
|
||||||
$letter = ord($letter);
|
$letter = ord($letter);
|
||||||
|
|
||||||
|
|||||||
@@ -16,18 +16,22 @@
|
|||||||
$dbh = db_connect();
|
$dbh = db_connect();
|
||||||
|
|
||||||
// get data from fields:
|
// get data from fields:
|
||||||
$u_firstname = $_REQUEST['firstname'];
|
$u_firstname = $dbh->quote($_REQUEST['firstname']);
|
||||||
$u_lastname = $_REQUEST['lastname'];
|
$u_lastname = $dbh->quote($_REQUEST['lastname']);
|
||||||
$u_email = $_REQUEST['email'];
|
$u_email = $dbh->quote($_REQUEST['email']);
|
||||||
|
|
||||||
// definiert den SQL befehl um
|
// definiert den SQL befehl um
|
||||||
// einen Nutzer korrekt in der DB anzulegen
|
// einen Nutzer korrekt in der DB anzulegen
|
||||||
$addUser="INSERT INTO user VALUES(
|
$addUser="INSERT INTO user VALUES (
|
||||||
NULL,
|
NULL,
|
||||||
'$u_firstname',
|
$u_firstname,
|
||||||
'$u_lastname',
|
$u_lastname,
|
||||||
'$u_email'
|
$u_email
|
||||||
)";
|
);";
|
||||||
|
|
||||||
|
echo $addUser."</br>";
|
||||||
|
|
||||||
|
// TEST SQL INJECTION: '); DELETE FROM user WHERE (u_email LIKE '%
|
||||||
|
|
||||||
// Versucht code auszufügen (try{...}) wenn das fehlschlägt
|
// Versucht code auszufügen (try{...}) wenn das fehlschlägt
|
||||||
// nimmt er sich den error und es wird anderer code ausgeführt
|
// nimmt er sich den error und es wird anderer code ausgeführt
|
||||||
@@ -48,11 +52,18 @@
|
|||||||
//echo "<br> Error Message: $errMsg";
|
//echo "<br> Error Message: $errMsg";
|
||||||
//echo "<br> Error-Code: $errCode";
|
//echo "<br> Error-Code: $errCode";
|
||||||
|
|
||||||
|
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||||
|
|
||||||
|
echo "<h3>FEHLER:</h3>";
|
||||||
|
echo "<pre>" . $e->getCode() . ": " . $e->getMessage() . "</pre>";
|
||||||
|
echo "<h3>DEINE SQL:</h3><pre>" . $addUser . "</pre>";
|
||||||
|
|
||||||
switch ($errCode) {
|
switch ($errCode) {
|
||||||
case "23000": $custErrMsg = "<p>Email-Adress already exists</p>"; break;
|
case "23000": $custErrMsg = "<p>Email-Adress already exists</p>"; break;
|
||||||
default: $custErrMsg = "<p>Oooooops, something went wrong!</p>";
|
default: $custErrMsg = "<p>Oooooops, something went wrong!</p>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo $custErrMsg;
|
echo $custErrMsg;
|
||||||
|
|
||||||
// ####################################
|
// ####################################
|
||||||
|
|||||||
9
Zweites Jahr/unterrichts_projekt/sql-injection.md
Normal file
9
Zweites Jahr/unterrichts_projekt/sql-injection.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
## Test SQL Injection
|
||||||
|
|
||||||
|
```sql
|
||||||
|
INSERT INTO user VALUES(
|
||||||
|
NULL,
|
||||||
|
'$u_firstname',
|
||||||
|
'$u_lastname',
|
||||||
|
''); DELETE FROM user WHERE (u_email LIKE '%');
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user