A więc dzisiaj miałem sporo wolnego czasu więc postanowiłem ze tym razem napiszę cos pożytecznego
Zajrzałem na maila i .... jest tam zlecenie dla mnie na logowanie do wewnętrznej sieci firmowej.
Wymagania jakie postawiono to:
- Oparte na plikach
- Hasła nie mągą być jawnie zapisane w pliku
- Proste do integracji z resztą oskryptowania
Wymyśliłem coś takiego:
register.php
<?
$login = $_POST['login'];
$haslo = $_POST['pwd'];
$haslo2 = $_POST['pwd2'];
if(isset($_POST['login']) && isset($_POST['pwd'])) {
{
echo 'Taki login juz istnieje !<br>Wróć i wybierz inny'; }
else
{
$haslod = $haslo;
$haslod .= $nr;
$haslo .= "$nr";
$sha1 = sha1($haslod);
$file = './user/'."$login".'.php';
fwrite($fp, '$md5 = ''."$md5".'';'."n"); fwrite($fp, '$crc32 = ''."$crc32".'';'."n"); fwrite($fp, '$sha1 = ''."$sha1".'';'."n"); fwrite($fp, '$numer = ''."$nr".'';'."n"); }
}
else
{
echo '<html><head><meta http-equiv="Content-Language" content="pl">'; echo '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">'; echo '<title>Rejestracja :: Demo</title></head><body>'; echo '<form method="POST" action="./register.php">'; echo '<p>Login <input type="text" name="login" size="20"></p>'; echo '<p>Hasło <input type="password" name="pwd" size="20"></p>'; echo '<p>Hasło <input type="password" name="pwd2" size="20"> (Przepisz powyższe jeszce raz)</p>'; echo '<p><input type="submit" value="Rejstruj"></p>'; echo '</form></form></body></html>'; }
?>
login.php
<?
if (isset($_POST['login']) && isset($_POST['pwd'])) {
$login = $_POST['login'];
$pwdzp = $_POST['pwd'];
{
include './user/'."$login".'.php';
$hdw = "$pwdzp";
$hdw .= $numer;
if(md5($hdw) == $md5 && crc32($hdw) == $crc32 && sha1
($hdw) == $sha1) {
}
else
{
}
}
else
{
}
}
else
{
echo '<html><head><meta http-equiv="Content-Language" content="pl">'; echo '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">'; echo '<title>Logowanie :: Demo</title></head><body>'; echo '<form method="POST" action="./login.php">'; echo '<p>Login <input type="text" name="login" size="20"></p>'; echo '<p>Hasło <input type="password" name="pwd" size="20"></p>'; echo '<p><input type="submit" value="Zaloguj"></p>'; echo '</form></form></body></html>'; }
?>
Oparte na 3 sumach kontrolnych

Drugim utrudnieniem jest to że sumy nie są tworzone od hasła ale od hasła i 2-3 cyfrowej liczby

Nawet jak ktoś zdobędzie jakos hash to i tak sie nie zaloguje nawet jak go rozkoduje
Napewno wielu zmyli zmienna $numer, kazdy normlany pomyśli że to numer usera w systmie
Co o tym myślicie ? Nadaje się ?