Jump to content
php.lv forumi

Fatal error: Maximum execution time of 60


ezis

Recommended Posts

hey,

 

es izsaucu mkPw: $user->mkPw($_POST['password_ch'], $user->user_salt),

tad pāris rindas zemāk atkal to pašu, bet tikai ar citām post vērtībām un man uzmet execution time erroru? ;\

ja izsauc tikai vienu reizi, tad viss kārtībā..

 

kapēc tā? varbūt es kaut ko nezinu, ko man vajadzētu zināt par php klasēm?

 

mKpw saturu nevēlos rādīt ^^ tajā tiek "sameikota" parole..

Link to comment
Share on other sites

Hmm, nerādīsi kodu?

Labi, paņemšu savu kristāla bumbu, un mēģināšu tur ieraudzīt tavu kļūdu kodā...

un ja nu Tava kristāla bumba nerādīs? ^^

funkcijai nav ne vainas, ja viņu izsauc vienreiz, bet ja atkārtoti tajā pašā failā, tad šis errors.. errors norāda uz rindiņu, kurā ir cikla saturs.. cikls izstiepj paroli..

Link to comment
Share on other sites

Ak jel, baigi kādam vajag tur tavu to ūberkodu, kas ģenerē ūbersuperduper paroli :)

 

Kļūda noteikti ir ciklā... Ja nerādīsi kodu, tad meklē to pats..

izskatās, ka Tava kristāla bumba saka Tev priekšā lol. Protams, ka ciklā.. ciklā ir vien izpildāma rindiņa un kļūmi uzmet tajā..

Man nav saprašana, kāpēc funkcija nostrādā vienreiz, bet nenostrādā otreiz?

Edited by ezis
Link to comment
Share on other sites

Gan jau džekam kāda floating matemātika, dēļ kuras notiek overflow.

Autor parādi kodu, vai vismaz, kādus parametrus pado.

 

Un uz priekšu: ja tev paroles ģenerācija ir atkarīga no padotiem datiem, tad uzlaiuzt ir laika jautājums, pat, ja kodu nerādīsi.

Edited by Леший
Link to comment
Share on other sites

Nu, atvainojos, bet bļin, tak parādi to ciklu... Kā tu ceri saņemt palīdzību, ja nerādi kodu?

 

Tici man, tavs kods nav tik vērtīgs kā domā, un nevienam viņš nav vajadzīgs...

einu ej genius? Neesmu advancēts, lai uzceptu ko vērtīgu..

 

   function mkPw($password, $user_salt){
     if(empty($password) && empty($user_salt)){
       return false;
     }else{
       $pw_remake = md5($password);
       while($this->password_iterations--){
         $pw_remake = $user_salt . $pw_remake;
       }
       return $pw_remake = sha1($user_salt.$pw_remake.$this->password_salt);
     }
   }

Link to comment
Share on other sites

Es drīzāk minu, ka kaut kādas darbības ar stringu + nekorekts nosacījums, kas iedzen bezgalīgā ciklā...

piemēram:

while(strlen($pass) != 10)){

$pass .= rand(0,10);

}

 

Nu, ja pēc pirmās izpildes iterācijas tiek aizskaitītas līdz 0, tad jau pēc otrās izpildes iterācijas sākas no "-1" līdz pat "-bezgalība", kas vispār tiek pārvērsts kā boolean true.

 

while($this->iterations-- > 0){..

Edited by briedis
Link to comment
Share on other sites

Un uz priekšu: ja tev paroles ģenerācija ir atkarīga no padotiem datiem, tad uzlaiuzt ir laika jautājums, pat, ja kodu nerādīsi.

hmm, nevēlies paskaidrot sīkāk? lai tiktu pie kriptotas paroles taču tik un tā tiek padoti dati funkcijai, kas viņas kripto vai kaut kā tā..

Link to comment
Share on other sites

Es drīzāk minu, ka kaut kādas darbības ar stringu + nekorekts nosacījums, kas iedzen bezgalīgā ciklā...

piemēram:

while(strlen($pass) != 10)){

$pass .= rand(0,10);

}

 

Nu, ja pēc pirmās izpildes iterācijas tiek aizskaitītas līdz 0, tad jau pēc otrās izpildes iterācijas sākas no "-1" līdz pat "-bezgalība", kas vispār tiek pārvērsts kā boolean true.

 

while($this->iterations-- > 0){..

iterāciju skaits ir 100, pēc pirmās nevajadzētu šaut -nusos.. :?

 

btw, kapēc tā, ja es izsaucu šo funkciju 1x, tad vis kārtībā, bet ja vēlreiz, tad met šo kļūdu.. Nomainīju cikla nosacījumus un tagad strādā..

Edited by ezis
Link to comment
Share on other sites

Ja ok, pirmajā reizē tiek veiktas tās 100 iterācijas, cikls apstājas, tad kad $this->iterations = 0

BET, kad tu jau izsauc to metodi otreiz, $this->iterations = 0, un ieejot ciklā, $this->iteration kļūst par "-1", ko pār-cast-ojot uz booelan vertību, mēs iegūstam true vērtību... Un tā tas cikls iet negatīvā bezgalībā, jo 0 vairs nebūs nekad..

Link to comment
Share on other sites

Tavā gadījumā tas cikls ir viennozimīgi lieks, pati funkcija arī diezgan apšaubama. Piemēram, kur tev tiek definēts password_iterations?

 

Nū cik palasīju, tad pastiept paroles + pielikt klāt visādas drazas, tikai apgrūtina tikšanu pie paroles..vai tad tas ir nepareizi manā gadījumā? Iterāciju skaitu definēju pats..

Link to comment
Share on other sites

Ja ok, pirmajā reizē tiek veiktas tās 100 iterācijas, cikls apstājas, tad kad $this->iterations = 0

BET, kad tu jau izsauc to metodi otreiz, $this->iterations = 0, un ieejot ciklā, $this->iteration kļūst par "-1", ko pār-cast-ojot uz booelan vertību, mēs iegūstam true vērtību... Un tā tas cikls iet negatīvā bezgalībā, jo 0 vairs nebūs nekad..

umm, aizdoma bija, bet neticēju, ka tā var notikt, jo izsaucu no jauna.. oO

any way, thnx..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...