Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Libreria di validazione e sanitizzazione

    Buongiorno a tutti,
    volevo condividere con voi questo progetto che stò portando avanti da un po'... ho deciso di rilasciarlo gratuitamente per tutti, da implementare nei vostri progetti. E' una semplicissima funzione per la validazione e la sanitizzazione dei dati.
    Fatemi sapere cosa ne pensate... ho cercato di inserire tutte le best practice per la validazione e la sanitizzazione in php...
    https://github.com/opetrone/php_validate

  2. #2
    Io farei in modo che il tuo script, almeno, accetti una sintassi del genere:

    Codice PHP:
    $cap=valida_input( array(
        
    "source"=>"post",
        
    "field"=>"cap",
        
    "label"=>"CAP",
        
    "type"=>"natural",
        
    "required"=>true//BOOLEAN!!!!
        
    "minLength"=>5//INTERO!!!
        
    "maxLength"=>5//INTERO
        
    "minValue"=>NULL//valore di default!!
        
    "maxValue"=>NULL //valore di default
        
    ), $errore); 
    perchè

    "obbligatorio" => "si"
    è uno "standard" abbastanza ridicolo nella programmazione. Per il resto non mi esprimo, funzionerà per quello che è stata pensata non lo metto in dubbio (dovresti mettere dei test in phpunit d'esempio anche), ma l'approccio procedurale ha i suoi limiti anche nel capire quello che fa la funzione.

    Un pò di spunti: usa delle costanti invece di stringhe "naturale" o simili, usa array per definire dei range, permetti dei callback per validazioni custom, permettere di concatenare le validazioni (inutile forse questa), non mettere la stringa di errore nella funzione ma richiedere il messaggio in input, non tornare un errore ma lanciare una exception apposita.. .etc
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    concordo al 100% con ciò che hai esposto...
    Ci sono, però, dei motivi molto semplici per quelle peculiari scelte di sviluppo... La libreria nasce per l'utilizzo in un contesto di "non sviluppatori" applicati al PHP, ed è stata pensata per essere il più semplice possibile, quasi banale (dato che altrimenti continuavano a non utilizzare nulla). Avevo effettivamente omesso di indicare questo importante presupposto. Questo è il motivo per cui i valori sono tutti indistintamente stringhe e gli indici sono tutti in italiano.
    L'idea delle costanti invece è un utile spunto utile, vedrò l'impatto nell'eventuale applicazione...

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    La libreria nasce per l'utilizzo in un contesto di "non sviluppatori" applicati al PHP, ed è stata pensata per essere il più semplice possibile
    Questo dovrebbe essere un motivo in più per dare ai "non sviluppatori" delle buone abitudini, che non si trascineranno dietro per gli anni a seguire. Soprattutto per linguaggi come php, che abbonda di pessimi snippet, pessimi tutorial, pessime guide sul web. Ricorda che "Non intuitivo" != "Semplice".

  5. #5
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Questo dovrebbe essere un motivo in più per dare ai "non sviluppatori" delle buone abitudini, che non si trascineranno dietro per gli anni a seguire. Soprattutto per linguaggi come php, che abbonda di pessimi snippet, pessimi tutorial, pessime guide sul web. Ricorda che "Non intuitivo" != "Semplice".
    Lo so... ma quando i "non sviluppatori" ti impongono delle scelte da "sviluppatori" c'è poco da fare
    In realtà nel suo utilizzo originario questa funzione viene utilizzata in un RAD php da ex sviluppatori Oracle Forms, quindi effettivamente di codice ce ne scrivono pochissimo, però dato che quel pochissimo ai miei occhi è già troppo pericoloso, ho approntato questa "funzioncina"... altrimenti si andava completamente allo sbaraglio...

  6. #6
    io non discuto sul perchè sia nata la funzione o sul dove e come sia stata utilizzata, dico solo che presentandola al mondo potresti correggere alcuni punti (come segnalato prima) soprattutto perchè da programmatore vorrai vedere la gente, anche non qualificata, programmare correttamente no? Soprattutto quando è probabile che un non programmatore neanche ci stia troppo a pensare a validare i dati di input. cmq taggala come versione 1.0 e comincia a lavorare su versioni aggiornate e "svecchiate". Sempre che ne valga la pena ovviamente
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    nel 2015, quasi 2016, ha poco senso pubblicare una cosa del genere. i non sviluppatori non sanno nemmeno cosa voglia dire validare un dato. Senza contare che sembra più pubblicità che una domanda tecnica.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  8. #8
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    nel 2015, quasi 2016, ha poco senso pubblicare una cosa del genere. i non sviluppatori non sanno nemmeno cosa voglia dire validare un dato. Senza contare che sembra più pubblicità che una domanda tecnica.
    a volte non riesco a capire se lo siete o ci fate... davvero...
    uno condivide una libreria per una esigenza specifica, tra l'altro con licenza mit, quindi liberamente utilizzabile in ogni dove... specifica il target e l'utilizzo e tutti a dire che non serve... ho cercato una cosa simile ovunque prima di realizzarla e non c'era da nessuna parte... si parla di buona programmazione e poi mi dite che se uno è alle prime armi non sa che vuol dire validare e non sanitizzare i dati... allora va bene se non lo fa? le librerie standard non sono di semplicissima comprensione per chiunque...
    è per quelle persone che nasce questa libreria... per chi non saprebbe neanche da che parte iniziare... ho capito che per voi queste persone non dovrebbero scrivere codice, ma a volte sono costrette... vedete con il paraocchi, ma io che lavoro con persone preparate a livelli molto differenti (dove il piú esperto avrà 30 anni di esperienza su Oracle Forms ma 3 mesi massimo su php) facevo molta fatica a far comprendere il concetto di validazione o di sanitizzazione... con questo sistema ho risolto il problema, tra l'altro centralizzando ed esternalizzando le funzioni in modo da permettermi di aggiornarle in caso di necessità... So che non è il miglior pezzo di codice mai visto o che è carente sotto tutti i punti di vista, o che può sembrare anacronistica una funzione procedurale... ma ci sono ambiti in cui DEVE essere cosí... e non vorrei stare a giustificarmi in continuazione sul perchè... per quelle persone ho deciso di condividerla... non ho mai detto che fosse obbligatorio utilizzarla o che fosse per chi è un superesperto... e poi venire anche a dire che si tratta di pubblicità... senza parole...
    Grazie di tutto e chiudo qui... a questo punto dato che il post dà tanto fastidio agli esperti, chiederei ai moderatori di rimuoverlo, in modo da non infastidire nessun altro.

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da insecta Visualizza il messaggio
    a volte non riesco a capire se lo siete o ci fate... davvero...
    uno condivide una libreria per una esigenza specifica, tra l'altro con licenza mit, quindi liberamente utilizzabile in ogni dove... specifica il target e l'utilizzo e tutti a dire che non serve... ho cercato una cosa simile ovunque prima di realizzarla e non c'era da nessuna parte... si parla di buona programmazione e poi mi dite che se uno è alle prime armi non sa che vuol dire validare e non sanitizzare i dati... allora va bene se non lo fa? le librerie standard non sono di semplicissima comprensione per chiunque...
    è per quelle persone che nasce questa libreria... per chi non saprebbe neanche da che parte iniziare... ho capito che per voi queste persone non dovrebbero scrivere codice, ma a volte sono costrette... vedete con il paraocchi, ma io che lavoro con persone preparate a livelli molto differenti (dove il piú esperto avrà 30 anni di esperienza su Oracle Forms ma 3 mesi massimo su php) facevo molta fatica a far comprendere il concetto di validazione o di sanitizzazione... con questo sistema ho risolto il problema, tra l'altro centralizzando ed esternalizzando le funzioni in modo da permettermi di aggiornarle in caso di necessità... So che non è il miglior pezzo di codice mai visto o che è carente sotto tutti i punti di vista, o che può sembrare anacronistica una funzione procedurale... ma ci sono ambiti in cui DEVE essere cosí... e non vorrei stare a giustificarmi in continuazione sul perchè... per quelle persone ho deciso di condividerla... non ho mai detto che fosse obbligatorio utilizzarla o che fosse per chi è un superesperto... e poi venire anche a dire che si tratta di pubblicità... senza parole...
    Grazie di tutto e chiudo qui... a questo punto dato che il post dà tanto fastidio agli esperti, chiederei ai moderatori di rimuoverlo, in modo da non infastidire nessun altro.
    Aspè....
    se mi vieni a dire che ci sono ambiti lavorati in cui quel codice va bene....allora capisco perchè in Italia ci sono tanti bravi programmatori disoccupati mentre lavorano altre tipologie di persone.

    se mi parli del cugino che deve fare la pagina della squadra del cuore nemmeno si preoccupa della validazione.

    sul forum si forniscono soluzioni a problemi di programmazione tant'è che è un miracolo che il post sia ancora attivo. forse perchè si potrebbe trarre una discussione tecnica. discussione sterile. il codice è pessimo.

    ho parlato di pubblicità per un motivo. non chiedi aiuto tecnico e parli di un pezzo di codice che serve ( ???) solo a poche persone.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  10. #10
    ciro non fare come me, è natale, conta pure te fino a 10 Non so se sia OT "pubblicizzare" librerie proprie (per il resto con licenza mit), ma non mi sembra un 3D tanto diverso da quelli tipo "quale framework utilizzare" o "è meglio fare così piuttosto che così" di cui il forum è pieno. E' stato fatto notare che ci sono vari spunti di riflessione su quel codice che lo porterebbero ad essere almeno presentabile, il resto è nelle mani del creatore del codice e di chi vorrà, in caso, usarlo e migliorarlo.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.