PDA

View Full Version : [php]controllo codice


dark_alex
25-05-2009, 18:35
mi controllate questo codice in php?


<?php

/*funzioni*/

/*Devo fare:

Salvataggio su file

gestione ddoppi caratteri, con attenzione al numero di caratteri per evitare loop infinito

attenzione anche al numero di caratteri scelti

uso sessioni per evitare url contenente password

*/

function main() {

if(isset($_POST['a'])) {$a = $_POST['a'];}

else {$a = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890";}



if(isset($_POST['d'])) {$d = $_POST['d'];}

else {$d = "10";}



echo '<form enctype="multipart/form-data" action="index.php?s=passgen&c=true" method="post">';

$submit = '&nbsp;<input type="submit" class="button" name="confirm" value="Genera password!" />';

d_title('PassGen');

d_row('Caratteri:<br><input type="text" name="a" class="s_text" width="50" value="'.$a.'" /> (Caratteri che potr&aacute; contenere la password)');

d_row('Numero caratteri:<br><input type="text" name="d" class="s_text" width="50" value="'.$d.'" />'.$submit);

echo '</form>';



$controll = true;



if(isset($_GET['c'])) {

$risultato = Genera($_POST['d'],$controll,$_POST['a']);

d_row('La tua password:<br><input disabled="disabled" type="text" class="s_text" width="50" value="'.$risultato.'" />');

}

}

function Genera($size,$ctrl,$poss) {

$result = '';

$siz = strval($size);

$ctr = $ctrl;



for($i = 0; $i < $siz; $i++) {

if($ctrl != true) {

$rand = rand(0,strlen($poss)-1);

$char = substr($poss,$rand,1);

$result = $result.$char;

}

else {

$sing = GetDifferent($result,$poss);

$result = $result.$sing;

}



}

return $result;

}

function GetDifferent($actual,$poss) {

$rand = rand(0,strlen($poss)-1);

$char = substr($poss,$rand,1);

if(strcmp($actual,$char)) {

return GetDifferent($actual,$poss);

}

else {

return $char;

}

}

?>