Cytat
Mam kilka pytań dotyczących zabezpieczenia serwisu.
1. Jakie uwagi należy brać pod uwagę podczas tworzenia systemu logowania dla uzytkowników oraz dla admina.
2. Jakie są najczęstsze próby włamania na serwisy.
3. Na wielu serwisach zauważyłem że panel logowania nie wygląda jako strona html(jak na tym forum) ale jako okno windosowskie. W jaki sposób to zrobić?
Ad1. Brak złotej reguły. Musisz po prostu zabezpieczyć się przed możliwościami podmiany zmiennych (wyłączenie register_globals), sprawdzać ew. ciastka itd. No i nie zapisuj nigdzie hasła w postaci jawnej, a jeżeli nawet je zahaszujesz, to dostęp do pliku z hasłami ogranicz poprzez np. htaccess
Ad2. Wymuszanie błędów: zabezpiecz się przed nimi, daj opcje co ma się wyświetlać gdy brak żadanego url-a etc.
Ad3. header - patrz kod poniżej
[php:1:c86d1ff3b9]<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Tekst do wysłania, jeśli użytkownik wciśnie przycisk Anuluj';
exit;
} else {
echo "<p>Hej {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>Twoje hasło to {$_SERVER['PHP_AUTH_PW']}.</p>";
}
?>[/php:1:c86d1ff3b9]
Ad. Uwagi spenalzo: chodzi mu o pliki z hasłami, które nie są zabezpieczone poprzez .htaccess i nie mają wymuszonego parsowania php. Są wtedy wysłane do przeglądarki jako czysty tekst i można odczytać zawartość.