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

Zelený je lopuch,
fotbal to je hra...

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: qaqtreh
[ 1845 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
mpts mpts Je to jinak, ba přesně naopak! 26.2.2008 18: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 18: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 18: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 18:21  2179
MD5 bych klidne pouzil, to staci, ale furt proste nevim jak to napsat
pepak pepak - Pepak.net 26.2.2008 17: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 17: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 17: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.
nollie 26.2.2008 15:39  2175
OTP - SKEYMam stranky v PHP a chci aby se lidi prihlasovali do admin prostredi pomoci jednorazovyho hesla (OTP), nejlepe SKEY.
Poradi mi nekdo jak na to?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 11.2.2008 17:34  2174
jak na to ted koukam zpetne tak jsem byl jenom linej to poradne nastudovat a myslel ze je to slozitejsi.
cekal jsem puvodne neco jako errorlog apache, kde se da vybirat z informaci ktery me zajimaj.

Tady je pekne ze pokud si to trochu jeste prepracuju tak muzu ty problemy rovnou na jenom miste resit/hlasit... |filtrovat
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 11.2.2008 17:29  2173
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars){
$dt = date("Y-m-d H:i:s (T)");
$errortype = array (
E_ERROR => "Error",
E_WARNING => "Warning",
E_PARSE => "Parsing Error",
E_NOTICE => "Notice",
E_CORE_ERROR => "Core Error",
E_CORE_WARNING => "Core Warning",
E_COMPILE_ERROR => "Compile Error",
E_COMPILE_WARNING => "Compile Warning",
E_USER_ERROR => "User Error",
E_USER_WARNING => "User Warning",
E_USER_NOTICE => "User Notice",
E_STRICT => "Runtime Notice"
);
//$user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);
$drop_errors = array( E_NOTICE, E_STRICT );
if (in_array($errno, $drop_errors)) return true; // tyto chyby preskakujeme
// if ($errno == E_USER_ERROR) { mail("phpdev@example.com", "Critical User Error", $err);
// tady mozno specialni pripady treba mailovat atd....
$err=$dt.' '.$errortype[$errno].':'
.$filename.':'.$linenum.')'."n"
.$errmsg."n"
.$_SERVER['REQUEST_URI']."n"
.$_SERVER['HTTP_USER_AGENT']."n";
error_log(strip_tags($err));
}
set_error_handler("userErrorHandler");
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 11.2.2008 17:28  2172
ehm, tak uz jsem si to napsal (zkopcil) sam a v zaveru si dovyprdnu do logu co potrebuju...slo o to, aby veskere chyby co vzniknou v ramci PHP byly zapsany do logu - to se deje, ale ja chtel aby mely i informace treba takove ktere mi radis...
- takze mi nezbylo, nez obslehnout prikladovej pripad v napovede na napsani vlastniho errorhandleru a v ramci nej tohle zjistit a predat dal jako se to delo driv pomoci log_error(), kterezto to sazi s doplnenymi informacemi do log souboru...
knedle knedle online - Krabice živých 11.2.2008 16:25  2171
tvx [2170]: nejak furt nechapu
tohle by ti nestaci? _SERVER:
[SCRIPT_FILENAME] => /home/klients/3tecky.cz/_test/skript.php
[REQUEST_METHOD] => POST
[QUERY_STRING] =>
[REQUEST_URI] => /_test/skript.php
[SCRIPT_NAME] => /_test/skript.php
[PHP_SELF] => /_test/skript.php
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 11.2.2008 16:19  2170
loguju ted chyby php do samostatnyho logu, velice uzitecne, neb jsem diky tomu nasel haldu chyb o ktere jsem nevedel neb pouze opravdovi uzivatele proklikaj fkt vsechno a najdou neodsetreny situace...
problem je ze v logu nni info o URL, na ktery doslo k chybe.
nechci si osetrovat vsechny chyby sam, coz je zpusob jak byto slo...
ale rad bych pokud uz leze ven chyba mel kni i info o url a dalsich stavovych promenhych webserveru...
nejakej napad?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 30.1.2008 14:43  2169
diky, vypisuju si vetsinou vsechny globalni ale v ramci aktualniho skriptu takze mi to ukazovalo vzdy to same :c]
mpts mpts Je to jinak, ba přesně naopak! 29.1.2008 19:07  2168
$_SERVER['SCRIPT_NAME'] apod. také není k zahození. Popř. si nech vypsat celé pole $_SERVER, při debug se to hodí často.

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

(c) 2001-2011 Lopuch.cz   
Kontakt