Avatar billede danic Nybegynder
20. september 2003 - 12:36 Der er 13 kommentarer og
1 løsning

Beskytte sin kode med sessions og md5

Her er mit forslag, dur det til noget????

Ved login gemmer jeg denne variabel:

$_SESSION['md5'] = md5($row['email_address']);


På de sider jeg vil beskytte indsætter jeg denne kode:

if (!isset($username)) || $md5 == md5($email_address)) {{
?>
    <tr>
        <td>
        <center>
        Denne funktion kræver at du er logget på!
        </center>
        </td>
    </tr>                   
<?                   
} else {           
?>
den beskyttet kode
Avatar billede danic Nybegynder
20. september 2003 - 12:37 #1
Jeg har selvfølelig også en session variabel mere:                    
$_SESSION['email_address'] = $row['email_address'];
Avatar billede erikjacobsen Ekspert
20. september 2003 - 12:41 #2
Det er lige så sikkert at sætte

  $_SESSION['bobshundekiks']='smager godt';

ved login, og checke

  if ($_SESSION['bobshundekiks']!="") {
    ...du skal være logget ind...
  } else {
    ...det hemmelige...
  }
Avatar billede danic Nybegynder
20. september 2003 - 12:46 #3
Er det fremgangs måden? jeg tænkte at det ville være for let at gætte hvis jeg f.eks. valgte

if (!isset($username))
if (!isset($userid))
...

?
Avatar billede erikjacobsen Ekspert
20. september 2003 - 12:47 #4
Det er jo heller ikke det jeg foreslår.
Avatar billede erikjacobsen Ekspert
20. september 2003 - 12:48 #5
if ($_SESSION['bobshundekiks']!="") {

skal vel egentlig være

if (isset($_SESSION['bobshundekiks'])) {

for altid at virke.
Avatar billede danic Nybegynder
20. september 2003 - 12:58 #6
Men er det ikke en god ide at benytte MD5? hvis en hacker logger på og på en eller anden måde overtager en anden bruger, så han frit spil med din løsning da den gælder for alle brugere på systemet.
Avatar billede danic Nybegynder
20. september 2003 - 13:46 #7
Jeg har valgt denne måde

if ($_SESSION['md5'] != md5($_SESSION['email])) {

Så har hver bruger sin unikke nøgle!

erikjacobsen> svar = points
Avatar billede erikjacobsen Ekspert
20. september 2003 - 16:41 #8
Nej, det giver dig ikke yderligere sikkerhed. En bruger kan ikke
ændre sessionsvariable, så det du gør er inderligt overflødigt, og
viser blot at du ikke har forstået hvordan det foregår.

Jeg skal ikke have point, når det ikke lykkes mig at forklare dig det.
Avatar billede Slettet bruger
20. september 2003 - 17:26 #9
Hvis det bliver hosted et sted hvor folk eksempelvis har ssh adgang og kan cd'e til /tmp og læse sessions, så giver det da lidt bedre sikkerhed at tage en m5 først. Så står folks emails i det mindste ikke i ren tekst.
Avatar billede erikjacobsen Ekspert
20. september 2003 - 17:31 #10
Det gør den da: $_SESSION['email]
Avatar billede Slettet bruger
20. september 2003 - 17:39 #11
Hvis der var taget en md5 af den.
Avatar billede erikjacobsen Ekspert
20. september 2003 - 17:41 #12
Det er da rigtigt. Men gør det nogen forskel her :)
Avatar billede danic Nybegynder
22. september 2003 - 08:11 #13
Jeg forstå nu :)
Avatar billede danic Nybegynder
23. oktober 2003 - 19:23 #14
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB