dembo
26.05.2009, 13:28:32
Witam,
jestem kompletnie zielony w PHP. Mam następujące pytanie: czy bezpieczne jest korzystanie z hasła zapisanego w kodzie strony ? Np.
<?
$haslo = "aaa";
if(strcmp($_POST['pass'],$haslo)==0) echo "OK";
?>
Chodzi mi głównie o sytuację, gdzie MySql nie wchodzi w grę.
Pozdrawiam.
cojack
26.05.2009, 13:33:39
Jeżeli nie będzie błędu w Apache i nie wypluje kodu php, (tylko nie wolno stosować krótkich znaków, tak jak Ty to zrobiłeś: <? należy użyć <?php) to można trzymać hasło w kodzie, ale nie w takiej formie, najlepiej zahaszuj je jakimś algorytmem, np sha1.
dembo
26.05.2009, 13:41:23
Czyli starczy:
<?php
$haslo1 = sha1("aaa");
$haslo2 = sha1($_POST['pass']);
if(strcmp($haslo1,$haslo2)==0) echo "OK";
?>
cojack
26.05.2009, 13:55:31
nie, w haslo1 powinen byc sam wygenerowany kod z funckji haszujacej, a w haslo2 moze byc to co podales. A te porownanie to ja pierwszy raz widze, zawsze stusuje $haslo1 == $haslo2
dembo
26.05.2009, 14:04:27
OK, dzięki.
A weźmy pod uwagę taką sytuację, że hasło w źródle strony ma być hasłem do logowania na pocztę e-mail (stosuję bibliotekę Swift).
Nie ma tutaj możliwości porównania haseł, tylko następuje wykorzystanie hasła do logowania na pocztę.
Jak w takiej sytuacji zabezpieczyć hasło, aby można je było potem zastosować Swift'cie, bo sha1 chyba odpada ?
bełdzio
26.05.2009, 17:49:07
tak samo
# user podaje haslo
# haszujesz haslo usera i sprawdzasz z hashem zapisanym w kodzie
# jesli oba hasze sa identyczne logujesz sie korzystajac z hasla podanego przez usera
dembo
26.05.2009, 17:55:41
nie o to, nie o to.
Hasło jest do maila, za pośrednictwem którego wysyłam dane z formularza ze strony. User nie podaje żadnego hasła.
Jak to zrobić ?
cojack
26.05.2009, 20:29:45
Jak napiszesz zrozumiale o co Ci chodzi to postaramy Ci się pomóc.
erix
26.05.2009, 20:32:40
Pewnie się łączy z SMTP...
Pozostaje tylko dobrze zabezpieczony plik .php, odpowiedni htaccess, do tego najlepiej zapisywać w pliku od razu funkcję łączącą zamiast hasła w zmiennej.
nexis
26.05.2009, 20:35:48
Cytat(dembo @ 26.05.2009, 18:55:41 )

nie o to, nie o to.
Hasło jest do maila, za pośrednictwem którego wysyłam dane z formularza ze strony. User nie podaje żadnego hasła.
Jak to zrobić ?
Niestety w takiej sytuacji hasło w skrypcie musi być jawne, bo inaczej nie będziesz w stanie go użyć. Radziłbym mimo wszystko zakodować hasło jakimś własnym sposobem i funkcję odkodowującą trzymać w innym pliku -
nie osiągalnym bezpośrednio przez przeglądarkę.
bełdzio
26.05.2009, 22:46:50
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.