2016-04-22 9 views
0

Wie kann ich den Benutzer von direkt Einfügen von HTML oder Javascript oder XML-Text direkt in Textfield oder Textarea beschränken.schränken Sie den Benutzer von der Eingabe direkter Skript in Textfeld

Ex. Wenn ich eine Webseite mit einem Textfeld habe und ich dieses Textfeld validieren möchte, bevor ich diese Daten zum Server hole, für rohe HTML oder XML oder Javascript usw..

enter image description here

Ich möchte diese Art der Eingabe von Benutzerende beschränken.

+0

Was hast du bisher gemacht? Außerdem sollten Sie die Datenclient-Seite nicht bereinigen. Sie müssen immer noch serverseitig sanieren, egal was passiert. Nutzer können Ihre Seite bearbeiten und Ihre Vorsichtsmaßnahmen umgehen. – 4castle

+0

können Sie mir ein Beispiel geben, um diese Daten auf dem Server zu bereinigen? –

Antwort

0

Sie können Class StringEscapeUtils verwenden. Es hilft Strings für Java, Java Script, HTML und XML zu entfliehen und zu entwirren.

1

Kurze Antwort: Sie können nicht!

Es ist zwar möglich, einige JavaScript-Filter zu verwenden, bevor Sie die Daten an Ihren Server senden. Sie können sich jedoch nicht darauf verlassen, dass Benutzer solche Prüfungen nicht umgehen können. Vertraue niemals Benutzerdaten, sorge immer für (zusätzliche) serverseitige Überprüfung! Moderne Web-Anwendungstechnologien ( und dergleichen) verhindern, dass HTML- und Skript-Eingaben auf Ausgabeseiten aktiv werden. Gleiches gilt für objektrelationale Datenbankzuordnungen oder vorbereitete Anweisungen, mit denen SQL-Injektionen vermieden werden. Meiner Erfahrung nach ist es hilfreich, Benutzer als dumm oder böse zu betrachten, die mit ergonomischen und sicheren Anwendungen enden.

0

Das Einschränken des Benutzerformulars, das andere Zeichen als Text eingibt, könnte eine Annäherung sein, mit der Sie beginnen können, aber die Einschränkung jeder Art von Eingabe ist eine lange Geschichte.

Um auf der Client-Seite für nur Text zu bereinigen, können Sie Zeichenfolge in Ihrem Textfeld verwenden, um mit einem regulären Ausdruck übereinzustimmen.

ex: -

var sanitize = function(event){ 
    match = event.target.value.match(/^[a-zA-Z ]*$/gi); 
    if(!match){ 
     alert("special char entered"); 
    } 
} 

so etwas wie dies Bringen Sie zu Ihren Textfeldern onChange Ereignis. PS: - Das obige Beispiel ist sehr rudimentär und nur für Demonstrationszwecke.