Ne mesajları şerit karakterler?

3 Cevap php

Ben güvende benim uygulama tutmak için bir iletiden şerit gereken karakterleri bulmak mümkün olmamıştır oldukça şaşırdım.

Ben bir php uygulaması var ve girdilerin en sayısal vardır, ama kullanıcıların mesajları ataşe için yeteneği ekleyerek, o yüzden mesajı temizlemek ve bir tehdit olabilir herhangi bir karakter şerit gerekir.

Ben yaptıysam benim ilk tepki

$message=addslashes(preg_replace('/[^a-zA-Z0-9\-,& $%\(\)#@!\'\"?.]/','',$_POST['message']));

Ben güvende olurdum, ama zararlı olabilir hangi karakterler devletler bir şey bulmak mümkün olmamıştır, ve hangi karakterler güvenli olacaktır.

3 Cevap

Ben en azından genel olarak konuşursak, girişten herhangi bir karakter şerit gerekmez söyleyebilirim.

Bunun yerine, you must escape veri:


Still, if you allow users to input HTML, you should take a look at
HTMLPurifier, to make sure they are not able to inject any malicious HTML code into your web-pages :

HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are standards compliant

Bunun yerine veri sanitasyon sadece veritabanı etkileşim için hazırlanan Tablolar kullanın. PDO'lar Lütfen giriş tüm kendiniz santizing el ihtiyacını ortadan kaldırır.

PHP Manual