Kezdőoldal » Számítástechnika » Programozás » Több belépési adat mysql nélkül?

Több belépési adat mysql nélkül?

Figyelt kérdés

Sziasztok. Hogyan oldhatnám meg, hogy több jelszót, belépési nevet adhassak meg mysql nélkül. Ennek a részlegnek ez a kódja:

foreach ($this->users as $user => $pass) {

if ($username == Admin && $password == Admin) {

$this->username = $username;

return TRUE;

}

}


Hogyan írhatnám át, hogy ne csak Admin Admin, hanem legyen még Admin1 Admin1 stb jelszó/név?


Válaszokat előre is köszönöm!



2014. aug. 14. 13:25
1 2
 1/11 anonim ***** válasza:

Ez, amit bemásoltál eleve hatalmas sechole.


Tárold fájlban, mondjuk CSV-ben vagy XML-ben az összetartozó felhasználónevet és jelszót. De a jelszóból csinálj hash-t és azt tárold el, azt ellenőrizd. Így sem lesz biztonságos, de egy fokkal már jobb.

Az olvasási jogot meg vedd le arról a fájlról, amiben tárolod az adatokat, 600 jogosultságokkal rendelkezzen.

2014. aug. 14. 13:31
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

Ilyen esetben érdemes a jelszavakat tartalmazó fájlt olyan helyre rakni a szerveren ami webről nem érhető el. Ez azért kellhet, hogy ha véletlenül lehal a php se legyen para h kikerül minden pass.


A tárhelyeden van valszeg egy www vagy egy htdocs mappa ahova rakod az index.php -t stb. Namost ezen kivül csinalj egy passwords.php -t. Abba:


<?php

$users = array(

'admin' => 'jdansj348732nj3n4j32432',

'admin2' => 'jdsadsaj348732nj3n4j399574',

'admin3' => 'jdansj348732nj3n4j32432'

);

?>


A lényeg h a másodikba md5-ölt legyen a jelszó.


Ezután ahol beléptetsz ott.


<?php

require_once '../passwords.php';

if ((isset($_POST['user']) && ($_POST['user']))

if (array_key_exists($_POST['user']))

{

if (md5($_POST['password'])==$users[$_POST['user']])

{

// BELÉPTETÉS

}

else

// HIBÁS USERNAME/PASSWORD KOMBO

}



Érdemes lehte még saltozni a jelszót, tehát a jelszó elé rakni valamilyen stringet.

Pl ha a jelszó 12345 akkor azt tárolod le h SALT12345 md5-ölve. Az ellenőrzésnél pedig nem md5($_POST['password']) hanem md5('SALT'.$_POST['password']) -al hasonlítod össze.

2014. aug. 14. 14:37
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:
md5 helyett meg igy vegiggondolva sha lenne a jobb valasztas, de ez mar csak izles kerdese.
2014. aug. 14. 14:38
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:
if (array_key_exists($_POST['user'],$user))
2014. aug. 14. 14:39
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:
Valahol még olvastam egy jó ötletet, hogy az egészet meg lehet toldani a jelszó hosszával, és akkor végképp nem tudni hogy mivan? :)
2014. aug. 14. 15:05
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

#5 Szerinted ez mennyire biztonságos?


Tegyük fel, hogy 10 karakter hosszú az átlagos jelszó (de szép is lenne). Ha csak a hosszát ellenőrizzük, maximum 10 próbálkozás után bent vagyok bárki fiókjában.

2014. aug. 14. 15:15
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

szerintem ő arra gondolt h a jelszó:

SALT + pass + jelszohossza

igy mar tutira nem lesz benne semmilyen adatbazisban

2014. aug. 14. 15:17
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
Ja, valóban. "toldani" helyett "oldani"-t olvastam.
2014. aug. 14. 16:07
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:
Meg az md5-öt átváltani tízes számrendszerbe ;D
2014. aug. 14. 16:57
Hasznos számodra ez a válasz?
 10/11 A kérdező kommentje:

Sziasztok, köszönöm a válaszokat. Sajnos nem nagyon értek hozzá, ezt is sokáig csináltam. Nem lehet csak simán valahogy elválasztani, hogy foreach ($this->users as $user => $pass) {

if ($username == Admin && $password == Admin && $username admins && $password admins) {

$this->username = $username;

return TRUE;

}

}


Vagy valahogy?

2014. szept. 17. 20:16
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!