Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [php] wachtwoord beveiliging (https://forum.scholieren.com/showthread.php?t=154000)

Devino 09-07-2002 15:50

[php] wachtwoord beveiliging
 
Ik heb een script om een pagina te beveiligen in php, maar daar moeten verschilende usernames op kunnen inloggen en ik heb geen mysql ondersteuning.
hoe moet ik dan het volgende script aanpassen om met bijvoorbeeld een *.dat bestand als database voor dit probleem te kunnen gebruiken.

PHP-code:

<?php
$LOGIN 
"user";
$PASSWORD "pass";

function 
error ($error_message) {
    echo 
$error_message."<BR>";
    exit;
}
if ( (!isset(
$PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == "$PASSWORD)) ) {
    
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
    
header("HTTP/1.0 401 Unauthorized");
    
error("Unauthorized access...");
}
?>

Alvast bedankt

Devino

Triloxigen 09-07-2002 15:56

:s

een script van 5 regels aanpassen :eek:


kun je beter opnieuw beginnen als je mij vraagt..

gebruik gewoon htaccess en htpasswd scheelt je hoop werk

eddie 09-07-2002 16:04

- .dat bestand openen
- bestand inlezen
- bestand sluiten
- controleren of gebruikersnaam in het bestand staat
- controleren of het wachtwoord klopt

Chimera 09-07-2002 17:18

Zorg wel dat dat .dat bestand (*grin*) niet downloadbaar is.

pietje63 09-07-2002 23:02

Citaat:

Chimera schreef:
Zorg wel dat dat .dat bestand (*grin*) niet downloadbaar is.
of geef het ene php extentie
user.dat.php
en zorg ervoor dat als je het oproept een lege page krijgt
(inhoud is bijvoorbeeld)
PHP-code:

<?
$username1 = "naam1";
$username2= "naam2";
$paswoord1 = "pas1";
$paswoord2 = "pas2";
?>

en dan in het andere bestand
PHP-code:


<?php
include ("user.dat.php");
if (
$login==$username1){
if (
$passwoord==$paswoord1){
$LOGIN "$username1";
$PASSWORD "$paswoord1";
}
}
else if (
$login == $username2){
if (
$paswoord == $paswoord2){
$login "$username2";
$pasword "$paswoord2":
}
}
if (!
$login){
function 
error ($error_message) {
    echo 
$error_message."<BR>";
    exit;
}
}

if ( (!isset(
$PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == "$PASSWORD)) ) {
    
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
    
header("HTTP/1.0 401 Unauthorized");
    
error("Unauthorized access...");
}
?>

zoiets dacht ik :)
(half zat, dus vast voor verbetering vatbaar, met arrays ofzo)

Chimera 10-07-2002 08:04

Liever:

PHP-code:

<?
$user["niels"] = "password01";
$user["jan"] = "password02";
?>

en:

PHP-code:

<?
if(isset($user[$username]) && $user[$username] == $password) {
  echo "Okay!";
}
else {
  echo "Foei!";
}
?>

Krijg je geen eindeloze if{} rijen, en bovendien hoef je dan alleen de lijst met passwords te editen bij nieuwe users.

TouchOfDarkness 10-07-2002 09:02

hmm als je het nou toch via een .dat file wil doen, zorg dan iig dat je je passwords md5() encrypted opslaat.

userlist.dat:

user1::098f6bcd4621d373cade4e832627b4f6
user2::455523d86a8a1ab7c7d33208fe0219e7

user.php:

PHP-code:

$username addslashes($_POST["username"]);
$password addslashes($_POST["password"]);
$file "userlist.dat";
$content file($file);
foreach(
$content AS $userdata) {
    
$info explode("::",$userdata);
    if(
$info[0] == $username && md5($password) == $info[1]) {
        echo 
"Je hebt toegang";
        break;
    } else {
        echo 
"Foei";
    }



Chimera 10-07-2002 09:05

Citaat:

TouchOfDarkness schreef:
hmm als je het nou toch via een .dat file wil doen, zorg dan iig dat je je passwords md5() encrypted opslaat.

Slecht idee. Dan wordt het wel erg makkelijk het password te brute-forcen.

TouchOfDarkness 10-07-2002 11:05

Citaat:

Chimera schreef:


Slecht idee. Dan wordt het wel erg makkelijk het password te brute-forcen.

md5 brute forcen?? denk dat je daar wel ff mee bezig bent ;)

lijkt me niet echt de moeite waard voor een gemiddelde website, om zo lang te wachten voordat je dat wachtwoord hebt.

maar goed...noem es een betere encryptie dan?

Chimera 10-07-2002 11:16

Citaat:

TouchOfDarkness schreef:

md5 brute forcen?? denk dat je daar wel ff mee bezig bent ;)

Valt tegen. MD5 is behoorlijk snel. Waarom denk je dat Linux tegenwoordig shadow-passwords gebruikt?

Citaat:


maar goed...noem es een betere encryptie dan?

Je kunt beter zorgen dat men niet bij de passwords kan. Valt er ook niks te brute-forcen.

Triloxigen 10-07-2002 11:25

Bf hoeft niet eens meer,
ik geloof dat md5 al gekraakt was...

TouchOfDarkness 10-07-2002 11:26

Citaat:

Chimera schreef:
Valt tegen. MD5 is behoorlijk snel. Waarom denk je dat Linux tegenwoordig shadow-passwords gebruikt?
ja goed heb je ook wel gelijk in. maar goed zal een hacker zoveel moeite doen voor een password op een website waar misschien nix te doen valt?


Citaat:

Je kunt beter zorgen dat men niet bij de passwords kan. Valt er ook niks te brute-forcen.
tuurlijk, dat staat voorop. maar ik geef alleen een mogelijke oplossing. je zult de rechten op die file wel moeten aanpassen.

TouchOfDarkness 10-07-2002 11:26

Citaat:

McLaren schreef:
Bf hoeft niet eens meer,
ik geloof dat md5 al gekraakt was...

bron? ben wel benieuwd dan

Chimera 10-07-2002 11:27

Citaat:

McLaren schreef:

ik geloof dat md5 al gekraakt was...

Gekraakt? Hoe wil je een hash kraken?

Chimera 10-07-2002 11:28

Citaat:

TouchOfDarkness schreef:

ja goed heb je ook wel gelijk in. maar goed zal een hacker zoveel moeite doen voor een password op een website waar misschien nix te doen valt?

Tja, waarom zet je er dan een PW op? ;)

IMHO is de passwords opslaan in een array veiliger. Tis natuurlijk helemaal ideaal als dat MD5 passwords zijn :)

TouchOfDarkness 10-07-2002 11:28

Citaat:

Chimera schreef:


Gekraakt? Hoe wil je een hash kraken?

idd, wat md5() genereert bevat toch nix meer van de oorspronkelijke string?

TouchOfDarkness 10-07-2002 11:30

Citaat:

Chimera schreef:


Tja, waarom zet je er dan een PW op? ;)

IMHO is de passwords opslaan in een array veiliger. Tis natuurlijk helemaal ideaal als dat MD5 passwords zijn :)

ghehe sla je passes dan op in een MySQL database of zo, nog weer veiliger. helemaal als die passes md5() encrypted zijn ;)

maar goed zo kan je nog wel ff doorgaan, tis maar wat je zelf als veiligheid wil.

pietje63 10-07-2002 21:58

Citaat:

TouchOfDarkness schreef:


ghehe sla je passes dan op in een MySQL database of zo, nog weer veiliger. helemaal als die passes md5() encrypted zijn ;)

maar goed zo kan je nog wel ff doorgaan, tis maar wat je zelf als veiligheid wil.

maar het begon dus met dat de database niet mogelijk was
verder wordt het niet minder veilig met md5() dus kan het geen kwaat

en md5() gekraakt, zal best, maar dat wil niet zeggen dat je met die crack op iedere md5() beveiligde site kan komen, dat wil alleen zeggen dat als je een door md5() onleesbaar gemaakte string weer leesbaar kan maken. gelukkig krijg je die string ook niet vaak te zien.
verder; de (standaard) creditcard beveiliging is door de TU/e ook gekraakt en wordt ook nog steeds gebruikt, duzzzz

TouchOfDarkness 10-07-2002 22:16

Citaat:

pietje63 schreef:

maar het begon dus met dat de database niet mogelijk was
verder wordt het niet minder veilig met md5() dus kan het geen kwaat

en md5() gekraakt, zal best, maar dat wil niet zeggen dat je met die crack op iedere md5() beveiligde site kan komen, dat wil alleen zeggen dat als je een door md5() onleesbaar gemaakte string weer leesbaar kan maken. gelukkig krijg je die string ook niet vaak te zien.
verder; de (standaard) creditcard beveiliging is door de TU/e ook gekraakt en wordt ook nog steeds gebruikt, duzzzz

dat van die MySQL db was ik ff vergeten, maar dat doet er ook niet echt toe, het waren alleen ideetjes...

en volgens mij quote je de verkeerde over dat cracken:

Citaat:

McLaren schreef:

Bf hoeft niet eens meer,
ik geloof dat md5 al gekraakt was...


pietje63 10-07-2002 22:23

Citaat:

TouchOfDarkness schreef:



en volgens mij quote je de verkeerde over dat cracken:


ik praatte gewoon door...
ik had ook een nieuwe post kunne beginnen / 2 mensen quoten maar dat vind ik te veel werk
no offense :D


Alle tijden zijn GMT +1. Het is nu 17:50.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.