Bir ajax php webapp sabitlemek için Kılavuzu

3 Cevap php

Ben baştan güvenli değildi PHP ile yazılmış, küçük bir AJAX uygulaması var. Ben şimdi app güvenli nasıl bazı tavsiyeler istiyorum, işler uygulamak ve kontrol etmek. Ben google herhangi bir ayrıntılı kılavuzları bulundu ve bazı tavsiye edilebilir umut yok.

Bu bağlanır ve bir mysql veritabanından kayıtları görüntüleyen küçük bir uygulamadır. Herhangi bir harici kütüphaneleri kullanarak değil.

Ben gibi değişkenler, geçen on korumak konusunda emin değilim:

if (isset($_GET["cmd"]))
  $cmd = $_GET["cmd"];

Ben sadece onay isset önce bir şey için $ cmd beyan etmelidir?

3 Cevap

Eğer (bu üzerinde sunucu / çevreye karşı - ben gerçekten hitap nitelikli değilim ki) app güvenliğini bahsediyoruz, o zaman ben şu düşünün:

  1. Emin olun herhangi bir kullanıcı girişi böyle SQL injection attacks gibi şeyler yapamaz sağlamak için temizlenir / çözümlenir. Bu kullanıcı girişi sorgu dizesi saklanabilir herhangi ajax isteklerini içermektedir. In fact anything passed into the app from the query string should be validated/cleaned in this manner.
  2. Eğer herhangi bir şifre kullanıyor musunuz? Eğer öyleyse herhangi bir paket koklama durdurmak için SSL kullanın. Ve hash your passwords in your database with a salt
  3. Hızlı Google oldukça iyi görünüyor bu hangi kazılıp: http://www.securityfocus.com/infocus/1706
  4. Kullanıcı girişi güvence bazı ipuçları http://www.dagondesign.com/articles/writing-secure-php-scripts-part-1/

Kullanıcı girişini işleme en önemli kural şudur: Validate input, escape output.

Sen son güvenlik kılavuzu arıyorsanız? Onu bulduğunuz zaman bana bir kopyasını gönder!

Kısa bir listesi:

  • SQL vunerabilities?
  • Lütfen $ _GET ve $ _POST girişleri doğrulamak, ve komik bir şey kaldırmak
  • Get_magic_quotes_gpc Lose () (ya da adı her neyse)

Ve tabii ki her şey senin sistem-yönetici yapmak gerekiyordu:

  • PHP'nin son sürümü
  • MySQL sürümü bugüne kadar

Ben harici bileşenlere sahip automaticly daha güvenli hale emin değilim. Ben bütün SQL şeyler işlemek için PHP için ADODB kullanın. Ben vunerabilities denetler biliyorum, bu yüzden bunu yapmak zorunda değilsiniz.