HTLM çıktı üretilirken (like you're doing to get data into the form's fields when someone is trying to edit a post, or if you need to re-display the form because the user forgot one field, for instance), muhtemelen kullanmak htmlspecialchars
: it will escape <
, >
, "
, {[ediyorum (5)]}, ve &
- seçeneklerine bağlı olarak bunu vermek.
strip_tags
will remove tags if user has entered some -- and you generally don't want something the user typed to just disappear ;-)
At least, not for the "content" field :-)
Once you've got what the user did input in the form (ie, when the form has been submitted), you need to escape it before sending it to the DB.
That's where functions like mysqli_real_escape_string
become useful : they escape data for SQL
You might also want to take a look at prepared statements, which might help you a bit ;-)
with mysqli - and with PDO
Senin gibi bir şey kullanmamalısınız addslashes
: Bu veritabanı motoru bağlı değildir etmez kaçan; Bu motor (MySQL, PostGreSQL, ...) ile çalışıyoruz uyan bir işlevi kullanmak için daha güvenli / iyidir: bu nasıl kaçmak için tam olarak ne biliyor, ve edeceğiz.
Son olarak, bir sayfa içinde verileri görüntülemek için:
- HTML içermemelidir alanlar için, kullanmak gerekir
htmlspecilchars
: kullanıcı girişi HTML etiketlerini yaptıysam, o olduğu gibi görüntülenir ve HTML olarak enjekte olmayacaktır.
- for fields that can contain HTML... This is a bit trickier : you will probably only want to allow a few tags, and
strip_tags
(which can do that) is not really up to the task (it will let attributes of the allowed tags)
- Sen HTMLPUrifier adında bir araç bakmak isteyebilirsiniz: Eğer izin verilmelidir hangi etiketleri ve nitelikleri belirtmek sağlayacak - ve bu ^ ^ her zaman güzel geçerli HTML üretir
- Bu hesaplamak için biraz zaman alabilir, ve muhtemelen her zaman görüntülenecek sahip olduğu HTML yeniden oluşturmak istemiyorum; böylece veritabanında depolama hakkında düşünmek (either only keeping that clean HTML, or keeping both it and the not-clean one, in two separate fields -- might be useful to allow people editing their posts ? )
Those are only a few pointers... hope they help you :-)
Don't hesitate to ask if you have more precise questions !