Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Korisničko područje (login)!?

[es] :: PHP :: Korisničko područje (login)!?

Strane: 1 2

[ Pregleda: 4611 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Wizard4U
Wizard4U

Član broj: 178049
Poruke: 122
*.adsl.net.t-com.hr.



Profil

icon Korisničko područje (login)!?06.05.2008. u 20:19 - pre 194 meseci
Skinuo sam neke skripte jer mi se s tim stvarno neda zezat,tj. na to ću se vratiti kad ću imati više vremena!
Ali sad kad postavim tu skriptu ne znam kako da npr. stavim ili podesim ;
Za goste je;
http://www.mojastranica.com

A kad bi htjeli nešto mijenjati ili u forum se registrirati onda bi ih preusmjerilo na:
http://www.mojastranica.com/login/login.php

Ali sad neznma kako da podesim da mi netko može ući općenito u
http://www.mojastranica.com/login ili http://www.mojastranica.com/admin
samo putem http://www.mojastranica.com/login/login.php!
A ne da kopira npr. link => http://www.mojastranica.com/admin/index.php i pusti ga unutra!
Molio bih tu za malo objašnjenja i ako može link za početak za neku jednostavniju skriptu za skinuti.
Pretpostavljam da sam stvarno zakomplicirao stvar ali mislim da bi bilo dobro da se tako nešto objasni!
Hvala
 
Odgovor na temu

aXi_
Admir Dautovic
Rozaje

Član broj: 121845
Poruke: 66
77.222.2.*



+2 Profil

icon Re: Korisničko područje (login)!?06.05.2008. u 20:47 - pre 194 meseci
nisam bash najbolje razumio sta zelish tacno ??

P.S. Evo bash sad pravim LogIn scriptu ... !
 
Odgovor na temu

Wizard4U
Wizard4U

Član broj: 178049
Poruke: 122
*.adsl.net.t-com.hr.



Profil

icon Re: Korisničko područje (login)!?06.05.2008. u 20:57 - pre 194 meseci
Skinuo sam jednu skriptu,ubacim je i instaliram ali ne znam kako da podesim da nitko ne može ući u .../admin tj. da ga preusmjeri na login.php i onda može biti u tom folderu,i da onda piše "Trenutno ste ulogirani kao("ime")
Skinuo sam ovu skriptu =>
http://www.roscripts.com/PHP_login_script-143.html
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
212.200.203.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Korisničko područje (login)!?06.05.2008. u 22:53 - pre 194 meseci
Ja upravo završavam jednu jednostavnu login skriptu. Treba još da napišem readme fajl čisto da objasnim kako koristiti sa bazom podataka odnosno bez baze pa ću objaviti ovde.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
79.101.219.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Korisničko područje (login)!?07.05.2008. u 20:44 - pre 194 meseci
Pre svega se izvinjavam zbog duplog posta, ali prošao je skoro ceo dan od poslednje poruke, pa mislim da korisnici neće primetiti novost na temi ako samo uradim izmenu poslednje poruke.

Kao što sam i obećao, evo login skripte. Sklepao sam neki readme fajl (zašto ni jedan developer ne voli da piše dokumentaciju? ) pa verujem da ćete se snaći. Svi komentari su dobrodošli.

Obavezno pogledajte demo.php a za bilo kakvo naprednije korišćenje pročitajte docs/readme.txt

Ako imate nekih pitanja u vezi skripte, slobodno pitajte! Ako neko nađe neki propust nek brzo javlja, pa da ispravljam.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Bagwell

Član broj: 169485
Poruke: 23
*.dynamic.sbb.rs.



Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 13:09 - pre 194 meseci
Hvala, Nemanja, bas ovako nesto trazim :)
Ja se bas nesto slabo razumem u php i mysql..-Jel ova skripta sigurna? Mislim od injectiona i ostalih "dzidza-bidza"? :)


[Ovu poruku je menjao Bagwell dana 09.05.2008. u 14:30 GMT+1]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
79.101.131.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 14:02 - pre 194 meseci
Pa ja sam je zaštitio koliko sam umeo da je zaštitim, a mislim da je dovoljno zaštićena od MySQL injection-a.
Kao što rekoh, ako neko primeti neki propust, nek' javlja.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 15:05 - pre 194 meseci
Nemanja, good job on this one :) mnogo fino odradjeno.

Iskoristio sam sve svoje znanje i umece, ali nikako nisam uspeo da odradim nista "lose" sa skriptom, tj. ili me je provalio ili me je samo iskulirao i ostavio na login formi. Mislim da je sasvim sigurna aplikacija.
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
89.216.107.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 15:21 - pre 194 meseci
Pa naravno da je mnogo fino odradjeno!
Nepisano pravilo php foruma, "NIKAD ne sumnjaj u moderatora php foruma!"
Savet za sledecu verziju (if ever), dodaj jos jedno polje za pass_hash, cisto fazona radi. Iako, kome god bude bilo potrebno vise sigurnosti od ovoga (sto je ovde za sada odlicno), zna ce da se javi autoru
 
Odgovor na temu

Wizard4U
Wizard4U

Član broj: 178049
Poruke: 122
*.adsl.net.t-com.hr.



Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 18:03 - pre 194 meseci
Ima jedan mala stvarčica ; jedna skripta koju sam skinuo sadrži functions.php i kad napišeš točan link do nje, možeš je otvoriti a mislim da bi mogli i malo veći hakeri zloupotrijebiti to!
Pokušao sam staviti redirekt ako netko nije ulogiran da ga preusmjeri ali onda mi ne radi svoju fuknciju pravilno!
Ima koje drugo rješenje?
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
89.216.107.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 18:13 - pre 194 meseci
Mislim da to ne bi moglo da se desi ako si lepo pratio uputstva koja pisu u uputstvu : "When you've uploaded script, open files you want to protect and add following lines at very beginning of each file..."
Da li taj fajl "functions.php" inkluduje ovu skriptu?

 
Odgovor na temu

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
*.com
Via: [es] mailing liste

Sajt: www.bild-studio.com


Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 18:24 - pre 194 meseci
Ima. Preko .htaccess mozes da zabranis pristum folderima, extenzijama
fajlova, jednostavno mozes da uradis securyti ludnica.
 
Odgovor na temu

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
*.com
Via: [es] mailing liste

Sajt: www.bild-studio.com


Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 18:27 - pre 194 meseci
A i slazem se sa dakipo nemoguce to jer server pre nego sto ti vrati skriptu
kompajlira php skriptu. Cisto sumnjam da si mogao da otvoris kod
functions.php.
 
Odgovor na temu

Wizard4U
Wizard4U

Član broj: 178049
Poruke: 122
*.adsl.net.t-com.hr.



Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 18:37 - pre 194 meseci
Nisam otvorio nego velim da je bolje kad takve funkcijske fajlove uopče ne možeš dda otvoriš! Pod cpanel sam stavio pod lozinku taj file! Hvala na podsjetnici
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
79.101.131.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Korisničko područje (login)!?09.05.2008. u 18:48 - pre 194 meseci
Ako je sve u redu sa serverom i isti je lepo podešen, pristupanje fajlu secure-login.php prikazuje ovo:



Ako pukne PHP onda će izlistati sadržaj fajla. Zato je bolje koristiti md5 kriptovane šifre, bilo da ih držite u fajlu ili u bazi (bolje u bazi )

Daki, na šta si tačno mislio sa tim pass_hash poljem?

edit: Malo pre sam ispravio u skripti jedan mali bug pa molim sve koji su skinuli skriptu da to urade opet.

[Ovu poruku je menjao Nemanja Avramović dana 09.05.2008. u 23:12 GMT+1]
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
Odgovor na temu

Wizard4U
Wizard4U

Član broj: 178049
Poruke: 122
*.adsl.net.t-com.hr.



Profil

icon Re: Korisničko područje (login)!?11.05.2008. u 16:59 - pre 194 meseci
Imam jedno pitanje koje nije vezano uz tu temu al je kratko pa bih ga ovdje postavio;
Ja sam preko jedne skripte pomoću INCLUDE preusmjerio korisnika na drugu stranicu ako nije logiran, ali kako bih glasilo najjednostavnije rješenje preko PHP-a preusmjerenje na drugu stranicu; npr. :
Netko otvori http://www.mojastranica.hr a preuasmjeri da na http://www.mojastranica.hr/login (ili neki drugi link,nema veze)!?
Hvala
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Korisničko područje (login)!?11.05.2008. u 17:12 - pre 194 meseci
preusmeravanje ides preko:

Code:

header("Location:tu_me_prebaci.php");
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
89.216.107.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Korisničko područje (login)!?11.05.2008. u 17:40 - pre 194 meseci
Za ovakva banalna pitanja ubuduce prvo potrazi na google ili php manual, postovi ce ti biti brisani bez obrazlozenja.
Mislim, dal te nije mrzelo da cekas da ti neko na forumu odgovori kad bi pretragom pod "php redirection" (logican upit) odmah dobio resenje na google...
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
89.216.107.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Korisničko područje (login)!?11.05.2008. u 18:21 - pre 194 meseci
@Nemanja,
pa ako samo radis md5 od passworda, prilikom proboja baze na serveru (recimo da se veoooma retko desava, ali se desava, pogotovo na jeftinijim shared hostinzima) ako dodjes do baze, mozes videti md5 pasworda svih usera. Nemoraju uvek hakeri da izvrse upad, znaju to biti i ljudi koji imaju neki nivo pristupa bazi, iz bilokog razloga, bilo dampu baze, bilo da dobiju email dumpa baze, neki buduci developeri, testeri, klijenti ili sta ti ja znam. Sto nije toliko strasno i ocigledno, ali se moze relativno lako reverse-engineeringom doci do izvorne sifre (jedan od manjih sajtova koji to radi passcracking.com, a postoji jos puno, da ne trazim sad).
Znaci md5('a') je uvek '0cc175b9c0f1b6a831c399e269772661' i tako dalje...
E sad, prava problematika. Prosecan korisnik koristi datume, imena ili neke ocigledne reci kao sifre, koje se lako mogu naci u bazi nekog od ovih sajtova. Takodje, vecina korisnika cesto koristi isti password za ostale sajtove, mail servere itd, a u istoj (provaljenoj) bazi 90% mozes naci i korisnikovu email adresu, pa eto radosti preuzimanja identiteta
Sad, dodatno komplikovanje se moze raditi na nekoliko nacina, meni najprostiji (a sa veeeelikim nivoom zastite) je dodavanje jos jednog polja recimo password_hash koji se koristi uz password polja. Princip rada je sledeci:
Code:

// ***** KREIRANJE KORISNIKA
//Uzmes neki random string, recimo sa datumima
$tmp = date('YmHdis')  . 'avram' . '_secret'; // nebitno sta dodas, stvar jedino koliko ti je dosadno u trenutku :)
$passwordHash=md5($tmp);  // vrednost dodatnog `password_hash` polja

//nakon toga, originalni password se edituje dovoljno da bude gotovo nemoguc za pronaci u nekoj od postojecih baza, ili da ne bude smislen ukoliko se i provali, ovde ne ide nista random
$password = md5('avramfd213' . $passwordFromPost. '12fds21dsavram' . $passwordHash);

Tako ubacen korisnik u bazu u polju `password` ne sadrzi ni pribliznu vrednost svoje unete sifre (dump pred md5 i videces sta je ustvari u tom polju). U polju `password_hash` takodje ne stoje podatci koji su ikako vezani sa sifrom korisnika. Cak i ako se dodje do tvog koda, opet se nikako ne moze naslutiti niti kod okrenuti da se povrati sifra (zato se uvek hash pravi kao random). Moze se provaliti recimo kako se ulogovati (ako i to cak moze), inace, to je to.

Provera da li je korisnikova sifra ispravna (prilikom redovnog logovanja na sajt) se vrsi:
Code:

//izvuci iz baze hash i password, radi provere
$passwordHashFromDb = $db['password_hash]; 
$passwordValueFromDb = $db['password'];

//provera gore pomenutog kriptovanja sa trenutnom vrednoscu u bazi 
if (md5('avramfd213' . $passwordFromPost. '12fds21dsavram' . $passwordHashFromDb) == $passwordValueFromDb){
// Sifra se poklapa sa kombincijom hasha i passworda iz baze, uloguj korisnika




Sad, jedino sto ovaj metod zaista zasticuje je ustvari kradja sifara, taj ko je dosao do tvoje baze, moze haos da napravi aplikaciji (naravno, ako provali sa privilegijama editovanja baze), ali ne moze doci do nijedne prave sifre korisnika
S'obzirom da sam ja jako paranoican sto se sigurnosti oupsteno tice, uvek koristim nesto slicno ovome za sifre. Ako jos neko ima ideju oko logovanja uopste, neka pise slobodno.

Ovo sam ustvari video kod flyLord-a, a sad odakle njemu, to samo on zna
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Korisničko područje (login)!?11.05.2008. u 19:38 - pre 194 meseci
Pa-pa-paranoja :D

Ili uvek mozes koristiti sha1 algoritam koji je, kako kazu, sigurniji od md5. Ili jos u igru ubacis IP adresu korisnika, pa ako je doslo do promene IP adrese, hash-evi nece odgovarati.

Pre sam jos nesto cackao kriptovanje, moze se i sa tim nesto postici :)

Code:

// BLowfish algoritam, CFB mod

// Ovo cemo da kriptujemo
$string = "Wao sto imam jaku sifru!";

// Tajni kljuc
$key = "somebadasssecretkey";

// Ajmo ga jos malo zastiti
$sha1_key = sha1($key);

$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH,MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size,MCRYPT_RAND);

// Kriptovan string
$ciphered_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $sha1_key, $string, MCRYPT_MODE_CBC, $iv);
// Ima gomilu nekih ludih karaktera, pa ga encode-ujemo...
$ciphered_string = base64_encode($ciphered_string);

// Na kriptovani string treba nalepiti $iv, jer je on uvek random, a treba nam kod dekriptovanja
// Pa ovaj slepljeni upisujemo u bazu, stavljamo u cookie...
$ciphered_string_with_iv = $iv.$ciphered_string;

/* Dekriptovanje. Odavde bi trebalo da je u drugom fajlu... */

// Tajni kljuc
$key = "somebadasssecretkey";

// Ajmo ga jos malo zastiti
$sha1_key = sha1($key);

// Opet uzimamo velicinu IV-a
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC);

// Skidamo IV
$iv = substr($ciphered_string_with_iv, 0, $iv_size);

// Ovo je kriptovani string koji smo dobili, bez IV-a
$ciphered_string_again = substr($ciphered_string_with_iv, $iv_size);

// Dekodujemo string
$ciphered_string_again = base64_decode($ciphered_string_again);

// Dekriptovanje...
$deciphered_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $sha1_key, $ciphered_string_again, MCRYPT_MODE_CBC, $iv);

echo "
Key: $key
<br />
Sha1 key: $sha1_key
<br />
String: $string
<br />
Ciphered string: ".base64_encode($ciphered_string)."
<br />
Ciphered string with IV: ".base64_encode($ciphered_string_with_iv)."
<br />
Deciphered string: $deciphered_string
";


Ovde $ciphered_string i $ciphered_string_with_iv nikada nece imati istu vrednost, uvek dolazi do nekog random kriptovanja, tako da passcracking.com fore padaju u vodu.
$key moze biti neogranicene duzine (u svakom slucaju jako dug).
Napadac mora da zna algoritam kriptovanja (ima ih dosta: http://www.php.net/manual/en/mcrypt.ciphers.php), mod kriptovanja (http://www.php.net/manual/en/mcrypt.constants.php), $iv i naravno $key, koji se moze drzati u samom skriptu, nekom externom fajlu ili bazi.

Al' kanda je ovo malo preterano za login sistem :)
 
Odgovor na temu

[es] :: PHP :: Korisničko područje (login)!?

Strane: 1 2

[ Pregleda: 4611 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.