aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'examples-secure/xss/index.php')
-rw-r--r--examples-secure/xss/index.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/examples-secure/xss/index.php b/examples-secure/xss/index.php
new file mode 100644
index 0000000..7bc3d45
--- /dev/null
+++ b/examples-secure/xss/index.php
@@ -0,0 +1,36 @@
+<?php
+ class MyDB extends SQLite3 {
+ function __construct() {
+ $this->open('comments.db');
+ }
+ }
+
+ if (isset($_POST['user'], $_POST['comment'])) {
+ $user = $_POST['user'];
+ $comment = $_POST['comment'];
+
+ $db = new MyDB();
+
+ $sql = 'INSERT INTO Comments VALUES(\'' . $user . '\',\'' . $comment . '\')';
+ $ret = $db->exec($sql);
+ $db->close();
+ }
+
+ echo '<!DOCTYPE HTML><html><head><title>Comments</title>' .
+ '<meta charset="utf-8"></head><body><h1>Comments</h1>';
+
+ $db = new MyDB();
+
+ $sql = 'SELECT * FROM Comments';
+ $ret = $db->query($sql);
+ while ($row = $re