scripit per password

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
considerato che eliox mi ha detto che al mio 1000° post mi banna, ho deciso di fare meno post ma più consistenti.
c'è qualcuno che ha la pazienza di dare un occhio al seguenete script (sembra grande ma sono più i commenti). si tratta di attribuire una passwrd ad un utente generandola in modo automatico.

PHP:
<?php
/*inizio funzione genera password-----------------------------------------*/
/*la funzione può generare (10+24*2)^$lunga password diverse*/
/*per $lunga=12 -> 14.492.253.520.096.019.136--------------------*/
function generatePsw($lunga){
	$j=0; //azzero contatore
	$password="";//vuoto e inizializzo la psw
	while ($j < $lunga) {
		$casuale= rand(48,122);//genera numero ASCI da "0" a "z"
		if ($casuale > 47 and $casuale <= 57){ //0-9
			$password .= chr($casuale);
			$j ++;
		}elseif ($casuale > 64 and $casuale <= 90){ //A-Z
			$password .= chr($casuale);
			$j ++;
		}elseif ($casuale > 96 and $casuale <= 122){ //a-z
			$password .= chr($casuale);
			$j ++;
		}
	}
	return $password;
}
/* fine funzione genera password-------------------------------*/



/*inizio verifica se usn o psw sono già esistenti---------*/

$caratteri=12;
$contaUSN=0;// conterà gli user presenti
$contaUSE=0;//conterà gli user uguali
include_once "connessione.php";//da togliere se con include vedi  nota 1

$cercaUSN="SELECT usn FROM ragSoc ORDER BY id_D";//seleziona username o password
$queryUSN=mysql_query($cercaUSN);
$contaUSN=mysql_num_rows($cercaUSN);//verifico se e quanti record ho
$contaUSE=0;

/*in partenza ho $contaUSN= xyz (numero) e $contaUSE=0
incremento di 1 $contaUSE se user generato è diverso da user che ho nel DB
alla fine del whle "cicla gli user" se non ho trovato user uguali al generato $contaUSN=$contaUSE
se trovo un user = a generato non ho l'incremento e quindi $contaUSN diverso da $contaUSE
quindi non esco dal while "cicla e rigenera", generando un altro usn e ripetendo la verifica
*/

if($contaUSN> 0){ //ho almeno un record
while($contaUSN != $contaUSE){//cicla e rigenera USN 

	$user = generatePsw($caratteri);//genera un username
	$contaUSE=0;//azzero il conteggio ogni volta che genero una psw
	while($rigaUSN=mysql_fetch_array($queryUSN)){//cicla gli user
		$esisteUSN=$rigaUSN[usn];//legge usn
		if($esisteUSN != $user){$contaUSE++; }//conta le user diverse da generata - vedi nota 3 break?
	}//fine while esplora usn esistenti

}//fine while se non uguali
}else{//sto generando la prima usn
	$user=generatePsw($caratteri);//genera un username, in questo caso la prima - vedi nota 1
}//fine if


//finalmente ho usn che mi serve

echo "username ammesso: ".$user; //eventualmente return $user nota 1

/*fine verifica-----------------------------------------------------------*/

/*NOTE------------------------------------------------------------------*/
/*
1) da verificare se conviene trasformarla in function e fare
l'include dalla pagina di inserimento dati:

function laPassword($tabella,$campo,$lunga){....}

2) dopo la generazione di usn e psw inserire

$handle = printer_open();
printer_write($handle, "Text to print");
printer_close($handle);

dove text to print=Nome utente + usn + psw
vedi: http://it.php.net/manual/en/book.printer.php

3) verificare se mettere un break nell'IF in modo da uscire dal while interno
se trovo una uguale evitando di verificare tutti i record - il break funziona in
questo modo?o esce da entrambi i while?
se ok aggiungere }else{break;}

*/
/*fine NOTE-----------------------------------------------------------*/

?>

un grazie per la pazienza.


p.s.
se qualcuno ritiene valido lo script può usarlo senza problemi
 
Discussioni simili
Autore Titolo Forum Risposte Data
felino Lubuntu 18.04 Requisiti per applicazione console .net core 7.0 Linux e Software 0
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
E Aiuto per query PHP 8
E Il punto di riferimento italiano per Trailers cavalli Discussioni Varie 0
F CERCO Servizi SEO di Qualità per Agenzie di Servizi SEO e Posizionamento 3
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 2
R Plugin di base per WordPress WordPress 0
D [COMPRO/CERCO] GUEST POST o scambio link per sito di Spiritualità ed Esoterismo. Vendere e Acquistare pubblicita' online 0
L Suggerimento Pagespeed per non vedenti HTML e CSS 0
M Analisi sito per pulire codice inutile HTML e CSS 1
Paolo69 Risolto reCAPTCHA v2 per ASP Classic ASP 0
M Hosting VPS per server di gioco Minecraft Hosting 0
N Grazie per il benvenuto Presentati al Forum 0
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
R Filtri e plugin per photoshop Photoshop 0
AkTaRuS DIsabilitare il tasto destro tranne che per code e pre Javascript 1
0 [Retribuito] Cercasi programmatore per GdR PbC Offerte e Richieste di Lavoro e/o Collaborazione 0
A Adempimenti per magazine on line Leggi, Normative e Fisco 0
R Recupero di permalink di un sito che è stato eliminato per errore WordPress 5
I aiuto urgente per thunderbird Posta Elettronica 0
A Web master per semplice sito web Offerte e Richieste di Lavoro e/o Collaborazione 2
M [Cerco][Gratuito] Artista/designer per creazione grafica gioco di società Offerte e Richieste di Lavoro e/o Collaborazione 0
M Un saluto per cominciare Presentati al Forum 1
N MAX() + ADD_DATE - per update su Mysql MySQL 0
G Qualcuno conosce questo software per gestire le telecamere IP Cam e Videosorveglianza 0
A [CERCO] Articolista per siti a tema eventi e feste private Offerte e Richieste di Lavoro e/o Collaborazione 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
I aiuto per outlook Posta Elettronica 0
L Script per convertire numeri in parole Javascript 2
J [Cerco] [Collaborazione gratuita] Grafico per piccoli lavori di grafica Offerte e Richieste di Lavoro e/o Collaborazione 0
M Memorizzazione temi per le diverse pagine del sito Javascript 1
otto9due Proteggere file caricati dall'esterno ma renderli accessibili per gli utenti loggati. PHP 4
E Consigli per hosting reseller Hosting 0
T aiuto per trasformare un quiz fatto in JS in un quiz in JQUERY jQuery 0
F Cerco fotografo per sito abiti da sposa Discussioni Varie 2
R [cerco][retribuito] Collaborazione per creazioni loghi ed altro Offerte e Richieste di Lavoro e/o Collaborazione 0
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
seranto Blocco preventivo e Registro dei Consensi per Cookie tecnici? Leggi, Normative e Fisco 2
D Come estendere la tariffa per Wordpress con Visa? Hosting 1
M Fullcalendar in Codeigniter, un aiuto per la chiamata $ajax ? jQuery 0
N Consigli SEO per il mio sito di web design SEO e Posizionamento 0
P Proiezione di Gauss per grafica su sfera in PVC Photoshop 0
M Sintassi "personalizzata" per mysql workbench? MySQL 0
MarcoGrazia Categorie per settore merceologico di Google SEO e Posizionamento 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
matteoraggi Local seo per un B&B di Forli SEO e Posizionamento 3
D Ical: Sto realizzando un gestionale per i miei appartamenti di casa vacanza PHP 0
S Teams software per i meeting Windows e Software 0
N Non Autorizzato. Dovresti rimuovere il parametro customize_messenger_channel per visualizzare l'anteprima in frontend. WordPress 1

Discussioni simili