Ik gebruik in een javascript een pre-validatie voor de teksten in een form.
Want met de teksten wordt ook een bestand meegestuurd.
En wil voorkomen dat een bestand onnodig temp wordt opgeslagen
als er iets niet klopt in de tekst.
Nu is die validatie alphanumeriek met wat extra tekens.
Weet iemand hoe ik dit kan bereiken met PHP?
De code in javascript:
[code]
function isAlphaNumericplus(str) {

var code, i, len;

for (i = 0, len = str.length; i < len; i++) {
code = str.charCodeAt(i);
if (!(code > 47 && code < 58) && // numeric (0-9)
!(code > 64 && code < 91) && // upper alpha (A-Z)
!(code > 96 && code < 123) && //lower case (a-z)
!(code == 32) && // spatie
!(code == 96) && // '
!(code > 191 && code < 256)) // extra tekens {

document.getElementById('red').innerHTML = "6 Gebruik niet toegestane tekens. Herstel en kies bestand.";
return false;
}
}
return true;
};
Kun je het niet beter omdraaien: welke tekens wil je niet toestaan?

En waarom niet? Met htmlspecialchars() komt alles weer precies zoals ingevoerd op het scherm.
Ward van der Put op 24/10/2017 11:42:43

[quote="Hans De Ridder op 24/10/2017 11:30:12"]
Maar het is ook een experimentele site.

Voor een algoritme dat de namen van horeca-gelegenheden herkent? ;=)
[/quote]

Gaat me niet om horeca alleen.
Ik ben niet zo'n drankorgel, haha
Maar wel om naar keuze per type letter of teken te valideren.
Ik weet ook wel dat de meesten toch creatief zijn om gewone letters te gebruiken.
Maar ik wil toch bepaalde tekens uitsluiten...
Dat kan in die javascript prima.
Maar was benieuwd of iets vergelijkbaars ook met PHP kan.
Misschien even een bezinningsmoment, wat is nu precies het probleem? Het correct valideren van textuele invoer, of het (onnodig) uploaden van bestanden -wat blijkbaar nogal lang duurt- waardoor het des te belangrijker is dat de eerdergenoemde validatie goed verloopt?

Even een andere draai misschien. Wie is de persoon die deze informatie inklopt en upload? Zijn dit individuele gebruikers of is dit doorgaans maar één persoon? En als dit meerdere personen zijn, mogen deze dan informatie van elkaar zien? Ik ga er hierbij vanuit dat er een soort afgeschermd beheersysteem is voor deze functionaliteit. Wellicht is het een optie om bestanden apart te uploaden en daarna te koppelen aan eerder ingevulde informatie? Zo scheid je deze handelingen zodat deze ook in afzondering behandeld kunnen worden. Misschien is dat in dit geval wel een betere oplossing.

Het op voorhand uitsluiten van tekens lijkt mij overigens niet de juiste strategie. Wat @Ward aangeeft lijkt mij dan ook een beter plan: controleer simpelweg of er iets ingevuld is. EDIT: dit omdat niet echt op voorhand vastgesteld kan worden wat de vorm van deze tekst is. Noch qua lengte, noch qua tekengebruik.

Kun je het niet beter omdraaien: welke tekens wil je niet toestaan?

Het inzetten van een blacklist is meestal ook niet zo handig. Zo kan de lijst van "verboden" zaken nogal lang worden en als je een of meer gevallen vergeet (dus op het moment dat deze incompleet is) is je blacklist in zekere zin nutteloos.

En ten overvloede, zoals in het andere topic aangegeven, tenzij je de geuploade bestanden op de webserver tijdens de uitvoering van het verwerk-script verplaatst naar een definitieve locatie worden deze vanzelf opgeschoond. Er is dan dus geen sprake van "onnodige (permanente) opslag". Ook bandbreedte is tegenwoordig niet zo'n dingetje meer, tenzij je het over giga/terabytes (of meer) hebt.
Bedankt Thomas....
Dat omdraaien is inderdaad wel een optie.
Bepaalde letters of tekens verbieden.
De gegevens met bestand kunnen worden verstuurd door uitsluitend de leden.
Vandaar dat ik ook zoveel aandacht geef aan het validatieproces en de beveiliging.
(Ook op grond van de tips die leden van het forum hebben gegeven)
Het bestand los zien van de tekst is geen optie.
Want de aangeleverde info wordt verwerkt in de flyer.
Nu kan ik na het uploaden direct de gegevens in de flyer zetten (IPTC),
omdat alle gegevens dan bekend zijn, zowel van het bestand als de teksten.
Dat werkt nog steeds prima.
Bij de uitdraai komt de info uit de flyer weer deels op de website terecht.
Dit stukje validatie is het laatste wat er nog overbleef.
Maar zal het inderdaad eens omdraaien, en met verboden letters en tekens bekijken.

Overigens wordt het bestand ook al aan de clientside gevalideerd op grootte en type.
Dat is ook al gereed aan de serverside.

Bedankt allemaal voor de inbreng...

Reageren