Yeni başlayanlar için PHP formları Güvenliğini?

3 Cevap php

Ben başarıyla () işlevini kullanarak mail _POST küresel değişkeni ve ardından e-postaları bana sonuç kullanarak birden çok sayfa arasında değişkenler geçer benim ilk html / PHP formu inşa.

Ben şimdi ve yararlanan her konuda savunmasız olduğu gibi bu formu inanılmaz güvensiz olduğunu eminim ve ben ancak ben oldukça fazla PHP bir acemi değilim, delikleri yamamak için nasıl bilmek istiyorum.

PHP formları güvenliğini sağlamak için herhangi bir basit-takip öğreticiler tavsiye edebilir misiniz?

3 Cevap

Kodunuzu güvence yapmanız gereken, birinci, ikinci ve üçüncü en önemli şey, kod kolları TÜM verilerin bir şekilde verilerinizi çalmak ve sunucu sabote etmek içindir kabul etmektir. Şahsen komut içine kodlanmış olsa bile veri! : P

Veri her parçası doğrulanmış ve bunu kullanmadan önce doğrulanmış olduğundan emin olun. Sayılar, metin alanları doğrulamak için düzenli ifadeler (kullanıcı adları, parolalar, vb ..) doğrulamak için intval ve floatval işlevlerini kullanın ve her zaman [(2)] {kullanmayı deneyin } SQL sorguları yaparken.

Tamamen kabuk komutları içerir ve uzağa ve kullanıcı girişi tutun. Yapmanız gereken eğer gerçek kullanıcı girişi switch ve / veya if ifadeleri kullanmak ve onlara dayalı statik komutları çalıştırmak içerir ve kabuk komutları kullanımı girişine göre. Ve bu işe ya yaramazsa; , doğrulamak doğrulamak ve son derece iyice kullanmadan önce girdiyi ... sonra parmaklarınızı çapraz ve tüm iyi sömürücülerin başka bir yol arıyoruz umut :)

En önemlisi; çok çok very paranoyak olmak. İnsanlar seni almak için dışarı ARE! :)

... Sonra kendinize rahatlatıcı bir hobi bulun, bu yüzden deli xD gitmeyin

Ben yerine formlar arasında değişken geçen PHP oturumlar kullanarak tavsiye ederim - bu senin girdi veri güvenliğini bir yolu.

kontrol this for a start

Benim ilk PHP uygulamaları ile bana yardımcı bazı küçük güvenlik ipuçları:

  1. Eğer bir web sayfasına veri almak ve aynı sitenin diğer sayfalarında erişmek Eğer $ _SESSION [] atıyorlar. POST aracılığıyla gizli form alanlarında onları geçmek veya GET asla.
  2. Kullanıcıdan alınan metinsel veriler bir web sayfasının bir parçası olarak görüntülenen veya bir HTML posta olarak gönderilecek ise, her zaman () (XSS saldırılarına karşı) o posta / göstermeden önce verileri strip_tags.
  3. Daha sonra kullanıcıdan alınan ve tüm veriler, bir SQL veritabanında saklanması gerekir SQL injection saldırılarına karşı (yani mysql için mysql_real_escape_string veya DB soyutlama kullanın) öncelenmesi gerekir.