Autorius Tema: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?  (Skaityta 392 kartus)

Neprisijungęs Noyz

  • Naujokas
  • *
  • Įrašai: 40
  • Karma: +0/-0
    • Žiūrėti profilį
Nesupyksi galbūt jeigu čia sukursiu savo klausimų (php pagrinde) temą, nereiks kurti jų begalės ir gaišt laiką.

Turiu klausimą, kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?

sql tokia: $sql = $conn->prepare("select slapyvardis, slaptazodis from zaidejai where slapyvardis = :slapyvardis, slaptazodis = :slaptazodis");
« Paskutinį kartą keitė: 2014-12-09 10:45:36 am sukūrė Lukas Liesis »

Neprisijungęs ello

  • Naujokas
  • *
  • Įrašai: 41
  • Karma: +1/-0
    • Žiūrėti profilį
    • ello
Ats: Noyz klausimai
« Atsakymas #1 Įrašytas: 2014-12-09 10:13:09 am »
manijakas :D taigi google toks dalykas yra, bandei ieškoti? :D ar geriau paklausti ir laukti atsakymo neribotą laiko tarpą? :D google rasi visus atsakymus, reikia tik ieškoti
Klysti - žmogiška...

Neprisijungęs ello

  • Naujokas
  • *
  • Įrašai: 41
  • Karma: +1/-0
    • Žiūrėti profilį
    • ello
Ats: Noyz klausimai
« Atsakymas #2 Įrašytas: 2014-12-09 10:19:47 am »
turiu užuominą:
norint sužinoti ar slaptažodis ir slapyvardis teisingi, jie turi sutapti su esamo vartotojo duomenimis. t.y. jie turi būti vieninteliai duomenų bazėje :D
pagalvok pats geriau, o ne uždavinėk durnus klausimus, nori juk išmokti , o ne padaryti kodą kitų pagalba...

taigi jei randa vartotoją su tokiu slapyvardžiu ir slaptažodžiu, reiškia tokie duomenys egzistuoja ir toks vartotojas yra, jeigu neranda reiškias kažkur blogai įvesta ;)
Klysti - žmogiška...

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7439
  • Karma: +231/-15
    • Žiūrėti profilį
    • mano CV
Ats: Noyz klausimai
« Atsakymas #3 Įrašytas: 2014-12-09 10:45:24 am »
1 tema - 1 klausimas. kitaip gaunasi chaosas. forume neimanoma normaliai kalbeti apie kelis dalykus. Forumas skirtas visiems, kad visi kiti, kuriems kyla panasus klausimai galetu rasti sau atsakymus, todel temos pavadinimas turi kuo geriau apibudinti temos klausima.

ar slaptazodis teisingas reikia ziureti ar duombazej yra kombinacija prisijungimo vardo ir slaptazodzio. Tokia kombinacija turi buti unikali. Prisijungimo vardai turi buti unikalus, slaptazodziai gali kartotis. Slaptazodziai niekada neturi buti saugomi atviru tekstu, visada turi buti uzkoduojami. Daugiausiai rasi internete kad "uzkoduoja" su md5 funkcija, bet tai ne tam skirtas daiktas ir yra ne kiek nesaugesnis, nei tiesiog butu plain text.

jei naudoji php 5.5+ http://php.net/manual/en/function.password-hash.php jei nenaudoji php 5.5+ tai turek tam rimta priezasti.

cia daugiau apie password hashinga: http://www.sitepoint.com/hashing-passwords-php-5-5-password-hashing-api/


« Paskutinį kartą keitė: 2014-12-09 10:49:42 am sukūrė Lukas Liesis »
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Manualai.lt Forumas

Ats: Noyz klausimai
« Atsakymas #3 Įrašytas: 2014-12-09 10:45:24 am »

Neprisijungęs Noyz

  • Naujokas
  • *
  • Įrašai: 40
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #4 Įrašytas: 2014-12-09 10:47:53 am »
M supratau. :) bet aš pačiam if'e nesuprantu kaip tikrint..

if($slapyvardis == $_POST['slapyvardis'])
{
//tikrinam per mysql
}

kažkas panašaus turi būt?

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7439
  • Karma: +231/-15
    • Žiūrėti profilį
    • mano CV
Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #5 Įrašytas: 2014-12-09 10:51:45 am »
<?php 
if(isset($_POST['login'], $_POST['password'])){

// uzklausa i sql kur mazdaug taip (tik aisku su pdo pakeisk): select * from user where login = $_POST['login'] and password = $_POST['password'];

//jei randa toki user, tai gali jam sukurti sesija ir user prisilogines.


}
?>

Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Noyz

  • Naujokas
  • *
  • Įrašai: 40
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #6 Įrašytas: 2014-12-09 10:54:04 am »
Ačiū. Aš noriu pirmiausiai pasidaryt login'ą, tada bandysiu apsaugot bent kažkiek viską. :) Su hash'ais.

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7439
  • Karma: +231/-15
    • Žiūrėti profilį
    • mano CV
Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #7 Įrašytas: 2014-12-09 10:59:51 am »
Ačiū. Aš noriu pirmiausiai pasidaryt login'ą, tada bandysiu apsaugot bent kažkiek viską. :) Su hash'ais.


have fun ;) jei dar kita klausima turesi, tai sukurk nauja tema ir irasyk klausima i antraste, kad veliau butu naudinga ir kitiems ;)

tiesa, if'a mano rasyta reiktu papildyti patikrinti ar prisijungimo vardas ir slaptazodis atitinka ivairius riekalavimus: ilgio, simboliu gal galima/negalima tam tikru ir pns.
siaip siulau vietoj prisijungimo vardo naudoti email ir tikrinti ar jis atitinka email struktura, o ne siaip padriki zodziai/simboliai.

pvz:

<?php
if(filter_var('bob@example.com'FILTER_VALIDATE_EMAIL)){
   
// validus email
} else {
  
// nevalidus email
}
?>


daugiau cia: http://php.net/manual/en/function.filter-var.php
« Paskutinį kartą keitė: 2014-12-09 11:03:07 am sukūrė Lukas Liesis »
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Noyz

  • Naujokas
  • *
  • Įrašai: 40
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #8 Įrašytas: 2014-12-09 12:15:09 pm »
Aš jau pasidaręs, kad tikrintų ar kažkas įvesta į inputus, slapyvardis/slaptazodis, ar abiejų nėra, kol kas ilgumo dar simbolių netikrinu. Taip pat dar reiktų dėl apsaugos padaryti, kad neitų įvesti simbolių, ar tai nereikalinga?

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7439
  • Karma: +231/-15
    • Žiūrėti profilį
    • mano CV
Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #9 Įrašytas: 2014-12-09 12:18:08 pm »
Aš jau pasidaręs, kad tikrintų ar kažkas įvesta į inputus, slapyvardis/slaptazodis, ar abiejų nėra, kol kas ilgumo dar simbolių netikrinu. Taip pat dar reiktų dėl apsaugos padaryti, kad neitų įvesti simbolių, ar tai nereikalinga?

reikalinga, turi negaleti ivesti tai kas is kart nera validu.
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Noyz

  • Naujokas
  • *
  • Įrašai: 40
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #10 Įrašytas: 2014-12-09 16:16:23 pm »
$sql = $conn->prepare("select slapyvardis, slaptazodis from zaidejai where slapyvardis = :slapyvardis and slaptazodis = :slaptazodis");
$result = $conn->prepare($sql);
$result->bindParam(":slapyvardis" ,$_POST['slapyvardis']);
$result->bindParam(":slaptazodis" ,$_POST['slaptazodis']);
$result->execute();

Warning: PDO::prepare() expects parameter 1 to be string, object given in C:\xampp\htdocs\projektas\login.php on line 42

Fatal error: Call to a member function bindParam() on a non-object in C:\xampp\htdocs\projektas\login.php on line 43

42: $result = $conn->prepare($sql);
43: $result->bindParam(":slapyvardis" ,$_POST['slapyvardis']);

Kas blogai?

EDIT: Viską puikai susitvarkiau, net pačiam malonu  ;)
« Paskutinį kartą keitė: 2014-12-09 19:24:43 pm sukūrė Noyz »

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7439
  • Karma: +231/-15
    • Žiūrėti profilį
    • mano CV
Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #11 Įrašytas: 2014-12-09 22:24:15 pm »
2x $conn->prepare objekta perdavei jau antra kart, nebe string'a ;)
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Manualai.lt Forumas

Ats: kaip per pdo patikrint, ar įvestas slapyvardis, slaptažodis yra teisingi?
« Atsakymas #11 Įrašytas: 2014-12-09 22:24:15 pm »