Inlogscript

Door Robin , 16 jaar geleden, 6.969x bekeken

Beste mensen,

Dit is mijn eerste script, dus verwacht niet al te veel. Ik ben van plan om meerdere versies te maken, dus hoe meer je meld, hoe beter het zal worden! =P
Mijn server gebruikt shorttags (

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? i.p.v. [code]<?php). Dus als je server geen shorttags ondersteund, verander [code]<? in [code]<?php.[/b]

Gesponsorde koppelingen

PHP script bestanden

  1. inlogscript

 

Er zijn 17 reacties op 'Inlogscript'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Ivo K
Ivo K
16 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
                header("location: index.php");
                $_SESSION['ID'] = $id;
?>


dit gaat niet werken lijkt me. Ook is het handig je data te escapen voordat je het in een database plompt.
Gebruik $_SERVER['REQUEST_METHOD'] == 'POST' om te kijken of het formulier is ingevuld.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
else {
    header('location: index.php?bericht=U bent niet ingelogd.');
}

?>

Waarvoor dat ?bericht=blaat ? Kan je niet gewoon op die pagina de error meegeven. Sowieso ontbreekt het script een beetje aan foutafhandeling ;-)
Toch is het niet erg slecht als eerste begin.
Robin
Robin
16 jaar geleden
 
0 +1 -0 -1
1. Dat werkt perfect bij mij.
2. Mijn server heeft een error als ik $_SERVER['REQUEST_METHOD'] == 'POST' gebruik...
3. Hoe bedoel je?
- SanThe -
- SanThe -
16 jaar geleden
 
0 +1 -0 -1
Veiligheid en foutafhandeling ontbreekt.
Script is lek.


16 jaar geleden
 
0 +1 -0 -1
Die tweede header die Ivo aangeeft is gevaarlijk als wat. Dat kan zorgen voor XSS.
Jammer dat er geen beveiliging op zit, en dat je niet even doorvoert wat Ivo zegt.
Zero XT
Zero XT
16 jaar geleden
 
0 +1 -0 -1
- gebruik geen * in je query's
- je query is sql injection gevoelig
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = mysql_query("SELECT naam FROM gebruikers WHERE naam = '" . mysql_real_escape_string($_POST['gebruiker']) . "' AND pass = '" . mysql_real_escape_string(md5($_POST['pass'])) . "' LIMIT 0,1");


Beter:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
while($rij = mysql_fetch_assoc($query))
{
        $_SESSION['ID'] = $id;
    header("location: index.php");
    exit();
}


16 jaar geleden
 
0 +1 -0 -1
Volgens mij word de code na header('Location: index.php') gewoon uitgevoerd hoor!
GaMer B
GaMer B
16 jaar geleden
 
0 +1 -0 -1
Denk je dat?
Onbekend Onbekend
Onbekend Onbekend
16 jaar geleden
 
0 +1 -0 -1
Danny schreef op 15.06.2009 19:53
Volgens mij word de code na header('Location: index.php') gewoon uitgevoerd hoor!

Volgens mij niet.
Midas
Midas
16 jaar geleden
 
0 +1 -0 -1
Toch wordt het gebruik van exit(); na header(); aanbevolen.
Zero XT
Zero XT
16 jaar geleden
 
0 +1 -0 -1
Quote:
Toch wordt het gebruik van exit(); na header(); aanbevolen.

En dat komt omdat de header, clientside word verwerkt.
Johan K
Johan K
16 jaar geleden
 
0 +1 -0 -1
Je hebt verschillende plugins voor firefox die gewoon die header skippen i.v.m. het hacken van de website, dus..
Er zijn ook andere browsers die deze mogelijkheid hebben.
Bas Php
Bas Php
16 jaar geleden
 
0 +1 -0 -1
ik zou niet de fouten in een script->alert zetten
Victor Php
Victor Php
16 jaar geleden
 
0 +1 -0 -1
Config.php verkorten.. dat kan door:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

mysql_connect( 'hostnaam', 'gebruikersnaam', 'wachtwoord' );
mysql_select_db( 'dbnaam' ) or die( mysql_error());

?>
Niels DB
Niels DB
16 jaar geleden
 
0 +1 -0 -1
Wat maakt dat nu uit lol.
Thumb nail
Thumb nail
16 jaar geleden
 
0 +1 -0 -1
alleen is het makkelijker, simpeler (whatdanook)
om het zo te doen als ik het script staat.
want als je de hostnaam, gebruikersnaam etc. verwijderd,
dan weet je niet meer waar alles ingevuld moet worden :
wel zou ik het zo doen :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
$cfg
= array('hostname' => '...', //MySQL Hostname
               'username' => '...', //MySQL gebruikersnaam
               'password' => '...',   //MySQL Wachtwoord
               'database' => '...'); //MySQL Database

if(!mysql_connect($cfg['hostname'],$cfg['username'],$cfg['password']))){
   echo "er is een fout opgetreden met het connecten met de database : ".mysql_error();
   unset($cfg);
}
elseif(!mysql_select_db($cfg['database'])){
  echo "de database kon niet gevonden worden !".mysql_error();
  unset($cfg);
}
else{
   unset($cfg);
  //de rest van het script
} // deze dus afsluiten op de pagina waar hij geïnclude word
?>

dus zonder die, en met een array, die je daarna weer weggooit...
maar het is nu ong. 8 uur 's ochtens, dus ik ben niet helemaal wakker, er kunnen dus fouten in zitten.
Victor Php
Victor Php
16 jaar geleden
 
0 +1 -0 -1
@niels

:P.. lkkr sneller:P... beveiligd en simpeler(A)
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Roel -
Roel -
16 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
// Dit werkt toch op iedere server, alleen <? ?>
werkt niet overal
?>

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. inlogscript

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.