Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- *
- * @author Robert Main
- * @copyright Robert Main
- * @version 0.0.1
- *
- * This is an authentication class design to help when doing MySQL based
- * authentication.
- *
- *
- * You can modify the properties of this class using the get and set methods
- * provided.
- *
- *
- * If you do not use the get and set methods, the properties default as follows:
- *
- * $hashAltorythm = FALSE (This means plaintext, ie: no password encryption)
- *
- * $tableName = 'users' This is the table where your usernames and passwords
- * are stored
- *
- * $usernameColumn = 'username' This is the column where users usernames are held.
- * If you dont specify a value it defaults to 'username'
- *
- * $passwordColumn = 'password' This is the column where users passwords are held
- * If you dont specify a value it defaults to 'password'
- *
- *
- * $idColumn = 'id' This is the primary key of your users table,
- * if you dont specify this value, the default of 'id' is used.
- *
- *
- *
- */
- class Authentication {
- private $hashAltorythm = FALSE;
- private $tableName = 'users';
- private $usernameColumn = 'username';
- private $passwordColumn = 'password';
- private $idColumn = 'id';
- public function getHashAltorythm() {
- return $this->hashAltorythm;
- }
- public function setHashAltorythm($hashAltorythm) {
- $this->hashAltorythm = $hashAltorythm;
- }
- public function getTableName() {
- return $this->tableName;
- }
- public function setTableName($tableName) {
- $this->tableName = $tableName;
- }
- public function getUsernameColumn() {
- return $this->usernameColumn;
- }
- public function setUsernameColumn($usernameColumn) {
- $this->usernameColumn = $usernameColumn;
- }
- public function getPasswordColumn() {
- return $this->passwordColumn;
- }
- public function setPasswordColumn($passwordColumn) {
- $this->passwordColumn = $passwordColumn;
- }
- /**
- *
- * @param String $username
- * @param String $password
- */
- public function validate($username, $password) {
- $username = mysql_real_escape_string($username);
- $password = mysql_real_escape_string($password);
- if ($this->hashAltorythm == NULL) {
- $queryResource = mysql_query("SELECT " . $this->usernameColumn . ", " . $this->passwordColumn . " FROM " . $this->tableName . " WHERE (" . $this->usernameColumn . " = '" . $username . "') AND (" . $this->passwordColumn . "= '" . $password . "') ");
- }
- else {
- $queryResource = mysql_query("SELECT " . $this->usernameColumn . ", " . $this->passwordColumn . " FROM " . $this->tableName . " WHERE (" . $this->usernameColumn . " = '" . $username . "') AND (" . $this->passwordColumn . "= '" . hash($this->hashAltorythm, $password) . "') ");
- }
- if (mysql_num_rows($queryResource) > 0) {
- return TRUE;
- }
- else {
- return FALSE;
- }
- }
- /**
- *
- * @param String $username
- * @return Integer
- */
- private function findUsersID($username) {
- $username = mysql_real_escape_string($username);
- $resource = mysql_query("SELECT " . $this->idColumn . ", " . $this->usernameColumn . ", " . $this->passwordColumn . " FROM " . $this->tableName . " ");
- $user = mysql_fetch_assoc($resource);
- return $resource[$this->idColumn];
- }
- public function loginUser($username) {
- session_start();
- $_SESSION['userid'] = $this->findUsersID($username);
- }
- /**
- *
- * @param Integer $userid
- * @return Boolean
- */
- public function isUserLoggedIn($userid) {
- if ($_SESSION['userid'] == $userid) {
- return TRUE;
- }
- else {
- return FALSE;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement