Jump to content
php.lv forumi

favoriiti un citi jautājumi...


nemec

Recommended Posts

es gribu uztaisiit katram useram, kursh zavalivaet manaa lapaa, favoriitus uz citim userim.

jautaajums: 1. mysql baaze

| userid | favoriits |

| 1 | 2 |

| 1 | 5 |

| 1 | 90 |

| 1 | 64 |

| 64 | 34 |

| 64 | 21 |

nu un nolasam kādi ir favorīti useram 1 un drukājam;

2. mysql baaze

| userid | favoriits |

| 1 |2:5:90:64|

| 64 | 34:21 |

nu un nolasam, tad ar explode piemēram izdalam un izdrukājam.

 

kāds variants ir izdevīgāks un ātrāks? ievietošanas un ņemšanas ārā. p.s. man patīk pirmais.

;;;

vai funkcija md5(), aizkodē kādu passwordu. un pēc tam ar md5() to kodējumu var dabūt atpakaļ. tad jēga no md5()???(cirvja jautājums, nu bet paskaidrojiet)

Link to comment
Share on other sites

1) ātrāks - otrais (ar explode), likt atpakaļ ar implode().

2) paroli ar md5 neatkodē. paroli nokodē ar md5 un saglabā datu bāzē. kad lietotājs iavada kaut-ko kā paroli, pārbauda, vai md5(no tā kaut kā) sakrīt ar datu bāzē saglabāto. jēga - ja nozog db ar lietotāju tabulu, neredz paroles klajā veidā.

3) $_SERVER['QUERY_STRING']

Link to comment
Share on other sites

cryptā ir cits kodēšanas mehānisms, tur var pievienot savu salt-stringu, kas tiks izmantots kodēšanā

vispārninātā veidā tas varētu izskatīties šādi:

vārds+salt=vsāarldts

respektīvi, ja "salt" vietā nodos ko citu, hashs izskatīsies citādāks

to pašu ar md5 var īstenot ja vienkārši salt likt priekšā/galā kodējamam stringam [md5($string.$salt)]

priekš kam? nu atkal redz kā, piem. md5 ir izplatīts un pazīstams algoritms, gudrīši saģenerējuši datu bāzes ar biežāk izmantotām parolēm un tagad ņem tavu hešu un salīdzina ar pieejamiem, bet pievienojot salt, tu padari savu hashu "stiprāku", un arī ja h3x0rs iedomāsies, ka paroles tev glabājas iekš md5, tai pašai parolei jau atbildīs citādāks hashs

e.g. md5('password') droši vien ir atrodams

$salt='salkdjlsak@!#!@!!saldkjlkas';

md5($salt.'password') - nu kurš ta tādu sadzīs datu bāzē?

 

UPD: t.i. lietotāja vietā padarām paroles "stiprākas"

Link to comment
Share on other sites

nemec, ko nozīmē "normāli aizkodēt"?

Hash funkcija nozīmē, ka nav atklāts veids, kā veikt inverso darbību, lai dabūtu izejas datus.

respektīvi ir ļoti vienkārši transformēt datus tikai vienā virzienā, bet otrā nepraktiski sarežģīti.

 

Šifrēšana nozīmē, ka eksistē tāda atslēga, kuru pielietojot var dabūt atpakaļ izejas datus, kas paroļu gadījumā (protams, atkarībā no tā kādu autentificēšanās mehānismu tu būvē) visticamāk ir tieši kaitīgi.

 

P.S. Vispār jau pats vārds kodēt man nepatīk šajā kontekstā, bet nu tie būtu sīkumi.

Link to comment
Share on other sites

×
×
  • Create New...