Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- define('SQL_HOST', 'localhost');
- define('SQL_PORT', '3306');
- define('SQL_DATABASE', 'phplicence');
- define('SQL_USER', 'phplicenceuser');
- define('SQL_PASSWORD', 'password');
- //Verbindet uns zur MySQL Datenbank und erstellt das PDO Objekt
- $PDO = connectMySQL();
- //Liest die Post Inputs aus und filtert sie
- $username = filter_input ( INPUT_POST, 'username', FILTER_SANITIZE_STRING );
- $password = filter_input ( INPUT_POST, 'password', FILTER_SANITIZE_STRING );
- $action = filter_input ( INPUT_POST, 'action', FILTER_SANITIZE_STRING );
- $data = filter_input ( INPUT_POST, 'data', FILTER_SANITIZE_SPECIAL_CHARS );
- //In diesem Beispiel haben wir kein Session System sondern prüfen den Login bei jeder Anfrage erneut
- if (checkLogin()){
- //Falls die Benutzerdaten korrekt waren und die Lizenz okay schauen wir welche action denn angefordert wurde
- //In dem Beispiel haben wir nur eine mögliche Action
- switch ($action){
- //Die getT wertet den erhaltenen Quelltext aus, liest den timestamp aus und echo'd ihn
- case 'getT':
- //Durch FILTER_SANITIZE_SPECIAL_CHARS wurden mögliche gefährliche Zeichen (XSS) gefiltert.
- //Das get_string_between ersetzt hier auf dem Server nun das eigentliche lokale StringBetween von AutoIt
- $temp = get_string_between($data, 'input type="hidden" name="t" value="', '"');
- echo $temp;
- break;
- }
- }
- /*
- * Source http://www.justin-cook.com/wp/2006/03/31/php-parse-a-string-between-two-strings/
- */
- function get_string_between($string, $start, $end){
- $string = " ".$string;
- $ini = strpos($string,$start);
- if ($ini == 0) return "";
- $ini += strlen($start);
- $len = strpos($string,$end,$ini) - $ini;
- return substr($string,$ini,$len);
- }
- function connectMySQL(){
- $driverOptions = array(
- \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"
- );
- return new \PDO('mysql:host='.SQL_HOST.';port='.SQL_PORT.';dbname='.SQL_DATABASE, SQL_USER, SQL_PASSWORD, $driverOptions);
- }
- function checkLogin(){
- global $PDO, $username, $password;
- $sql = "SELECT *
- FROM user
- WHERE username = ?";
- $statement =$PDO->prepare($sql);
- $statement->execute(array($username));
- $result = $statement->fetch(\PDO::FETCH_ASSOC);
- if (verifyPassword($password, $result['password'])){
- if ($result['isLicenced'] != 0){
- return true;
- } else {
- echo 'Not Licenced';
- return false;
- }
- } else {
- echo 'Login incorrect';
- return false;
- }
- }
- function verifyPassword($password, $hashedPassword){
- if (crypt($password, $hashedPassword) == $hashedPassword){
- return true;
- } return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement