diff --git a/inside/User.php b/inside/User.php index 65c3e30..5bc3b7a 100644 --- a/inside/User.php +++ b/inside/User.php @@ -56,6 +56,7 @@ class User { $this->id = -1; return false; } else { + /* Validate user supplied data. */ if (strlen(stripcslashes($data['username'])) < 3 || strlen(stripcslashes($data['username'])) > 12 ) { notify("Brukernavnet må være mellom 3 og 12 tegn."); $this->id = -1; @@ -72,6 +73,12 @@ class User { $this->id = -1; return false; } + /* No double nor single quotes */ + if(preg_match('/["\'\\]+/', $data['password1'])) { + notify("Passordet kan ikke inneholde enkel- eller dobbelfnutt eller bakslask."); + $this->id = -1; + return false; + } if ($data['password1'] != $data['password2']) { notify("Passordene var ikke like."); $this->id = -1; diff --git a/inside/migration/js/byebye_inside.js b/inside/migration/js/byebye_inside.js index 1e37295..2bba94d 100644 --- a/inside/migration/js/byebye_inside.js +++ b/inside/migration/js/byebye_inside.js @@ -10,10 +10,14 @@ function init_validation() { password: { required: true, minlength: 8, + noquotes: true, + nobackslashes: true, }, password_check: { required: true, minlength: 8, + noquotes: true, + nobackslashes: true, equalTo: "#id_password", }, }, diff --git a/inside/migration/js/custom_validators.js b/inside/migration/js/custom_validators.js index 2542aa1..3bf1361 100644 --- a/inside/migration/js/custom_validators.js +++ b/inside/migration/js/custom_validators.js @@ -1,3 +1,9 @@ jQuery.validator.addMethod("lettersonly", function(value, element) { return this.optional(element) || /^[a-z]+$/.test(value); }, "Please enter only letters (english alphabet)."); +jQuery.validator.addMethod("noquotes", function(value, element) { + return this.optional(element) || ! /['"]+/.test(value); +}, "No single or double quotes, please."); +jQuery.validator.addMethod("noescape", function(value, element) { + return this.optional(element) || ! /[\\]+/.test(value); +}, "No backslashes, please.");