Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Což takhle
dát si Lopuch?

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub PHP [ŽP: neomezená] (kategorie Programování) moderuje makovec.
Archiv
Diskuse o vybornem skriptovacim jazyku php. Dulezite odkazy, pred polozenim dotazu zkuste hledat odpoved zde:
  1. www.php.net - domovská stránka PHP
  2. www.kosek.cz - spousta tutorialu pro PHP v češtině
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: lrkbjdy
[ 1845 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 29.2.2008 13:37  2190
.htaccess vypada takto:
[IfModule mod_php5.c]
php_value output_buffering 0
php_value error_reporting E_ALL
php_value display_errors 1
php_value display_startup_errors 1
php_value memory_limit 64M
php_value post_max_size 64M
php_value upload_max_filesize 64M
[/IfModule]
a phpinfo potvrzuje ze to nastaveni php vzalo vazne, presto mi ale nevim proc, posledni dobou PHP nezobrazuje syntakticky chyby, misto nich bila obrazovka, chyby hlasi az kdyz skript spusti a pak to je ze enco nekde nefunguje

kde jsem co udelal blbe ze se mi to zacalo dit? jeste nedavno to bylo OK a nepamatuju ze bych nekam moc sahal... maximalne do skriptu
bredy 27.2.2008 00:41  2189
Dobre, ja to upravim.
1)klient napise heslo
2)vyrobi se hash
3)server posle otp challenge (retezec)
4)vyrobi se hash challenge+hash hesla
5)posle se server
6)server vyzvedne z databaze hash hesla
7)vyrobi se hash challenge+hash hesla
8)pokud hashe souhlasí, máme autorizováno
joker joker If you see the flash, duck and cover! 27.2.2008 00:08  2188
Bredy [2187]: Asi jsem špatně pochopil bod 3) v [2184]. Jistě, že se dá pracovat s hashem. Pak se ovšem dostáváme k variaci na [2176].
bredy 26.2.2008 23:49  2187
jokerA kdo říká, že se musí pracovat přímo s heslem. Může to být další hash.
joker joker If you see the flash, duck and cover! 26.2.2008 20:42  2186
Bredy [2184]: To ovšem předpokládá, že máš uložené heslo v databázi.
pepak pepak - Pepak.net 26.2.2008 20:20  2185
Bredy: OTP je jakekoliv heslo, ktere se pri kazdem pouziti meni. Zpusobu, jak toho dosahnout, je vic, tenhle s mnohonasobnym hashovanim mi ovsem prijde velice chytre vymysleny.
bredy 26.2.2008 20:17  2184
Možna budu vypadat jako nýmand, ale podle mne je OTP úplně něco jiného.
1) Server pošle nějaký řetězec.
2) Uživatel zadá heslo, a na klientské stráně jej zahashuje
3) Hash pošle serveru, ten provede stejný hash s heslem na své straně
4) Pokud dojde ke stejnému hashi, tak je autorizováno.

Další možností je pomocí synchronizace času. Dobrý příklad je například autorizační kalkulačka eBanky.

Co jsem pochopil, tak hlavní význam OTP je znesnadnit získání hesla odposlechnutím ze sítě.
mpts mpts Je to jinak, ba přesně naopak! 26.2.2008 17:51  2183
resp. asi uloz_do_db(X--, sql_quote(trim($_POST['username']))); :-)
mpts mpts Je to jinak, ba přesně naopak! 26.2.2008 17:48  2182
nollie: (popisuji pepakův algoritmus, ten angl. by byl jen malinko jiný, a funkce jako nacti_z_db, sql_quote apod. si musíš domyslet, to je snad jasné):
$heslo_od_uzivatele = trim($_POST['heslo']);
$heslo_z_db = nacti_heslo_z_db(sql_quote(trim($_POST['username'])));
for ($ii = $X; $ii < $N; $ii++)
    $heslo_od_uzivatele = hash_fce($heslo_od_uzivatele);
if ($heslo_od_uzivatele != $heslo_z_db) fuck_user();
else welcome_user();
uloz_do_db(X--);


Ale nezlob se, pokud toto opravdu nedovedeš napsat sám, asi bys neměl psát nic na web, dokud se to nenaučíš. To není nějaká namyšlenost, ale prostě Tvé aplikace nebudou bezpečné a asi ani dobré, protože toto je celkem trivialita.
pepak pepak - Pepak.net 26.2.2008 17:46  2181
Mpts: To nebyl preklad. Ja jsem navrhoval zpusob, jak udelat OTP.

S tim snizovanim X o jednicku to je otazka. Bezpecnejsi (z hlediska prolomeni hesla) urcite je snizovat, naproti tomu by se to dalo zneuzit pro DoS (vycerpat nekomu cele jeho heslo).
mpts mpts Je to jinak, ba přesně naopak! 26.2.2008 17:38  2180
pepak: Ten Tvůj překlad (či popis obsahu, já vím, že to není přímo překlad) je trochu chybný, ne? Jednak popisuješ malinko jiný algoritmus ověřování (jehož výsledek by byl ovšem stejný), jednak mi přijde zbytečné (a ani ten anglický text to neuvádí) snižovat X o jedničku i v případě neúspěšného pokusu o ověření.
nollie 26.2.2008 17:21  2179
MD5 bych klidne pouzil, to staci, ale furt proste nevim jak to napsat
pepak pepak - Pepak.net 26.2.2008 16:30  2178
Co je na tom za problem? FOR smycku snad zvladnes a pokud nad tim nechces premyslet, tak tedy pouzij to MD5/SHA1, na ktere ma PHP primo funkci...
nollie 26.2.2008 16:24  2177
pepak [2176]: Jasny, todle chapu, to uz mam davno prostudovany, ale napsat to v PHP je pro me orisek. Nejsem zas takovej prebornik.
Jinak v telefonu mam aplikaci, kera mi generuje ty hesla a to se bude pri prihlasovani vyuzivat.
pepak pepak - Pepak.net 26.2.2008 16:04  2176
Prakticky to vyzkousene nemam, ale dal jsem "SKEY" do Googlu. Na to mi vypadla stranka The S/Key Password System, kde je to v odstavci How It Works dost srozumitelne popsano:

"A user initializes S/KEY by selecting a secret password and n, a number of passwords to generate. A secure hash function (currently MD4) is applied to the secret password n times. The result is stored on the server. When the user attempts to log in, the server issues a challenge, which is the number n-1. Software on the user's client machine prompts for her secret password, and applies n-1 iterations of the hash function to it, and sends this response to the server. The server applies the hash function to this response. If the result it obtains is the same as the value it stored earlier, the authentication worked. The user is allowed in, and the server replaces the stored value with the response obtained from the client, and decrements the password counter. [Haller, 1994; Rubin, 1995]"

Tzn. implementace zcela trivialni: Uzivatel ti nejak zada originalni heslo. Ty tohle heslo N-krat prozenes nejakou hash funkci (skoro bych radsi doporucoval jinou nez MD4, MD5 a SHA1) a ulozis si do databaze vysledek a taky cisla N a X=N. Az se bude chtit uzivatel prihlasit, tak mu napises, "uzivateli, posli mi svoje heslo X-krat prohnane hashovaci funkci H". Protoze svoje tajne heslo zna, tak to dokaze a ten hash ti posle. Ty to prozenes dalsimi (N-X) hashi a porovnas s tim, co je v databazi. Pokud to sedi, je heslo spravne, pokud to nesedi, je heslo spatne. Tak jako tak zmensis X o 1. Pokud dosahnes jednicky (resp. z bezpecnostnich duvodu by bylo lepsi zastavit se nekde vys, treba u desitky), tak uzivatele pozadas, at si zvoli nove heslo.

[ 1845 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt