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 = ' <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á 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;
}
}
?>
<?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 = ' <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á 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;
}
}
?>