• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Het oorspronkelijke Criminals Script

    SC-Webmedia 18 juni 2026 om 20:11
  • StraatBaas is back, maar hoe?!

    Syntax 17 juni 2026 om 10:28
  • RPG game gebouwd met AI

    Frenzo.Webservice 11 juni 2026 om 19:44
  • Het Grote Vibe Code Topic

    Syntax 1 juni 2026 om 20:05
  • PWYL source gezocht

    Syntax 29 mei 2026 om 14:03
  • Ictscripters Chat

    AarClay 21 april 2026 om 11:34
  • Help testers nodig voor android app Urgent

    Servertjee 20 februari 2026 om 12:07
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    Servertjee 20 februari 2026 om 12:06

Marktplaats

  • 4-letter domein: Togi.nl

    evesi 17 juni 2026 om 17:08
  • 359 Nieuwe Domeinnamen Mei 2026

    shiga 1 juni 2026 om 12:45
  • Sicarras.com - Moderne Mafia Text-Based RPG

    Jeffrey.Hoekman 27 mei 2026 om 17:40

Wat te doen

  • Patrick
  • 4 september 2009 om 21:43
  • Closed
  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 4 september 2009 om 21:43
    • #1
    PHP
    <?php
    
    
    /**
     * @author Patrick Rennings
     * @copyright 2009
     */
    
    
    class login {
    	
    	pubic function safelogin($name, $password) {
    		$this->username = htmlspecialchars($name);
    		$this->password = htmlspecialchars($password);
    	}
    	
    	private function code_password($password) {
    		$this->password = md5($this->password);
    	}
    	
    	public function check_login($name, $password) {
    		// Convert to safe usage
    		$this->safelogin($name, $password);
    		
    		// Check if username does exist
    		$query = mysql_query("SELECT * FROM users WHERE username='{$this->username}'") or die(mysql_error());
    		if (mysql_num_rows($query) == 0) { return FALSE; }
    		else {
    			
    			// check if password is correct
    			$this->code_password($this->password);
    			$query = mysql_query("SELECT * fROM users WHERE username='{$this->username}' AND password='{$this-password}'") or die(mysql_error());
    			if (mysql_num_rows($query) == 0) { return false; }
    			else {
    				return TRUE;
    			}
    		}
    	}
    	public function create_login ($name, $password) {
    		// Convert to safe usage
    		$this->safelogin($name, $password);
    		$this->code_password($this->password);
    		
    		// sessions, cookie's, ip tracking?'
    		
    	}
    	
    }
    
    
    ?>
    Toon Meer

    nu weet ik niet 100% zeker of de code werkt maar dat maakt op het moment ook niet zoveel uit, ik vraag me alleen af bij de laatste functie wat ik moet gebruiken om later te checken of ze ingelogd zijn wat is hierbij de beste keuze?

  • Guest, wil je besparen op je domeinnamen? (ad)
  • alexruter
    Prostart B.V
    Berichten
    1.272
    • 4 september 2009 om 21:46
    • #2

    Ik zou een sessie en een cookie aanmaken;)

    Project Starter : 40%

    Voor meer informatie kunt u contact met ons opnemen via: http://<woltlab-metacode-marker data-name="b" data-uuid="9968e8cf-c21e-4616-83a2-1b7dbe424ef3" data-source="W2Jd" /><woltlab-metacode-marker data-name="i" data-uuid="6afb9ec5-726a-4117-99f8-5ce4efc057f1" data-source="W2ld" />mailto:<woltlab-metacode-marker data-uuid="6afb9ec5-726a-4117-99f8-5ce4efc057f1" data-source="Wy9pXQ==" /><woltlab-metacode-marker data-uuid="9968e8cf-c21e-4616-83a2-1b7dbe424ef3" data-source="Wy9iXQ==" />

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 4 september 2009 om 22:03
    • #3

    ja ik snap zelf ook wel hoe je sessie's aanmaakt ik vraag me alleen af wat de beste combinatie daar in is om de beveiling te garanderen

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 4 september 2009 om 22:07
    • #4

    nou ik snap wel hoe je het allemaal kan programmeren met sessie's, cookie's ed. maar hoe kan ik die 2 en misschien nog meer in combinatie met elkaar laten gebruiken om er voor te zorgen dat de beveiling van het systeem hoog komt te liggen.

  • webdam-x
    Intermediate
    Berichten
    359
    • 5 september 2009 om 00:08
    • #5
    Citaat van game-projects

    Gewoon controleren of de session bestaat. Je komt heel onduidelijk over!


    Gewoon zoals die zegt:
    Hoe kan die z'n cookies (o.i.d.) het best beveiligen..

    Ik zeg:
    Cookie met hash erin, en dan zorgen dat ie niet te hijacken is.

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 5 september 2009 om 00:29
    • #6

    Begin eens vanaf het begin, laten we je class omzetten in een interface:

    PHP
    <?php
    
    
    /**
     * @author Patrick Rennings
     * @copyright 2009
     */
    
    
    interface login {
        public function safelogin($name, $password);
        
        private function code_password($password);
        
        public function check_login($name, $password);
    
    
        public function create_login ($name, $password);
    }
    
    
    ?>
    Toon Meer

    Het eerste wat je je moet afvragen is: Wat hoort er thuis in mijn klasse?

    Je class heet login, en gaat dus de login's regelen. Hieronder valt in ieder geval het inloggen, het uitloggen, en waarschijnlijk ook het controleren of een user ingelogd is.

    safe_login() en code_password() horen er in mijn idee dus al niet in thuis. code_password() is iets wat altijd in classes gebeurd, deze methode is dus naar mijn mening sowieso overbodig. safe_login() is geen verantwoordelijkheid van de login-class. Eerder van een security-class of dergelijke.

    Daarnaast: Ik zou gaan voor sessies die aan het IP zijn gekoppeld.

  • Patrick
    Back in the game
    Ontvangen Reacties
    52
    Berichten
    1.417
    • 5 september 2009 om 09:38
    • #7

    kijk aan dat antwoord heb ik wat, ik ga er werk van maken bedankt :)

    Nieuwe reactie samengevoegd met originele reactie op 05.09.09 10:05:48:

    PHP
    <?php
    
    
    /**
     * @author Patrick Rennings
     * @copyright 2009
     */
    
    
    class database {
    	
    	private function connect() {
    	// Database information ed.
    		
    	}
    	
    	public function query($query) {
    		
    	}	
    }
    
    
    class security {
    	
    	public function query($query) {
    		// htmlspecialchars ed.
    	}
    	
    	public function captcha() {
    		// For human testing
    		
    	}
    	
    }
    
    
    class login {
    	
    	public function login($username, $password) {
    		
    	}
    	
    	public function logout() {
    		
    	}
    }
    
    
    ?>
    Toon Meer

    even restyle van classes gedaan, any comment?

    Nieuwe reactie samengevoegd met originele reactie op 05.09.09 11:14:59:
    ik heb er wat aan gewerkt:

    PHP
    class database {
    	
    	private function connect() {
    	// Database information ed.
    	
    		protected $this->username = "";
    		protected $this->password = "";
    		protected $this->database = "";
    		protected $this->hostname = "localhost";
    		
    		
    		if (!empty($this->username) && !empty($this->hostname)) {
    			$this->result = mysql_connect($this->datbase, $this->username, $this->password);
    			
    			// When connection failed
    			if ($this->result == FALSE) { die(mysql_error()); }
    			
    			// Select the database (if one is enterd)
    			if (!empty($this->database)) {
    				$this->db_select = mysql_select_db($this->database, $this->result);
    				if ($this->db_select == FALSE) { die(mysql_error()); }
    			}
    			else {
    				die("Data needed to connect to database not present, aborting script.");
    			}
    			
    			// Connected to the databse returning to orginal script.
    			return;
    		}
    		else {
    			die("Data needed to connect to sql not present, aborting script.");
    		}
    		
    	}
    	
    	public function query($query) {
    		if (!$security) { new security(); }
    		
    		$this->query = $security->query($query);
    		$this->result = mysql_query($this->query);
    		
    		if (!$this->result) {die(mysql_error()); }
    		
    		return $this->result;
    		
    	}
    	
    	public function __destruct() {
    		$this->stats = explode(' ', mysql_stat($this->connection));
    		mysql_close($this->connection);
    		
    		return $this->stats;
    	}	
    }
    
    
    class security {
    	
    	public function query($query) {
    		// htmlspecialchars ed.
    		return mysql_real_escape_string(htmlspecialchars(($query));
    	}
    	
    	public function captcha() {
    		// For human testing (work in progress)
    		return false
    	}
    	
    }
    Toon Meer

    fouten voor behouden eventuele toevoegingen?

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Quanscient ontvangt €10M om AI- en kwantum-native hardware engineering te bevorderen - Tech.eu

    ICTscripters 27 mei 2026 om 12:03
  • Datalek bij leverancier Canvas - Universiteit van Amsterdam

    ICTscripters 10 mei 2026 om 12:03
  • Data privacy in 2026: Hoe de naleving van GDPR verandert

    ICTscripters 8 mei 2026 om 12:16

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design