PHP ne kadar güvenli?

8 Cevap php

Ben PHP kodlama için biraz yeni duyuyorum ve ben size PHP kodu dezenfekte varsa kötü niyetli kullanıcıların web sitesini hack farkında değilim. Ne ben merak ediyorum onlar (dosya gönderimler için olduğu gibi, ya da user-name/password giriş alanları) veri giriş kutusuna ihtiyaç olup olmadığıdır?. Gibi komutları "(header.php) dahil" Siz de güvenlik çeşit gerekir ya da doğuştan güvenli?

8 Cevap

Kullanıcı güvenmiyorum.

include "a/literal/file.php";

oldukça güvenli

include $someFile;

Eğer $ someFile set alır nasıl düşünmek istiyorum demektir. Eğer $ someFile değerini ayarlamak için bir kullanıcı tarafından size verilen herhangi bir veri kullanırsanız, daha iyi sterilize olur.

Sadece başka bir dil gibi, PHP kodu programcı yazar olarak güvenlidir.

Ayrıca başka bir dil gibi, bireysel (ve hatta ortak) güvenlik riskleri bir StackOverflow cevap dahil etmek için çok sayıda ve detaylı.

Güvenli PHP kodlama kapsayan bir kitap bulun.

2006 yılında bir sla.ckers.org görevinden RSnake alıntı:

Ne ilginç Stefan Esser PHP olay müdahale ekibi emekli olduğunu düşündüm. Kurullarında dini bir savaş başlatmak, ancak PHP'nin güvenlik müdahale ekibi kurucusu PHP güvenlik eksikliği ile bıkmış ve bir sonucu olarak çıkmak olduğunu ilginç değil. Onun sitesi şu anda aşağı (trafik sel?): [Blog.php-security.org] Yani burada önbellek kesme ve yapıştırma:

Cumartesi 9 Aralık. 2006

Sonunda PHP Security Response Team emekli Dün gece, bir kaç yıl önce başlangıçta benim fikrimdi.

Bunun nedenleri çoktur, ama en önemlisi ben içeriden PHP güvenliğini artırmak için herhangi bir girişimde beyhude olduğunu fark olması. PHP Group kısa sürede kullanıcı PHP'nin güvenlik sorunları sorumlu deneyin teknenin içine atlamak olacak ama PHP kendisinin güvenliğini eleştirmek an persona non grata olur. PHP güvenlik açıklarını ifşa veya Suhosin geliştirilmesi için ben ahlaksız hain denirdi kez sayım durdu.

Sıradan PHP kullanıcı için bu artık benim uyarılarının güvenlik açıkları için yavaş tepki süresi gizlemek anlamına gelir. PHP Security Response Team ay için bunları düzeltmek için reddetti, çünkü o da benim uyarılarının bazı yamaları olmadan gelmek anlamına gelecektir. Ayrıca PHP güvenlik açıkları konusunda çok daha fazla uyarılarının olacağı anlamına gelecektir.

10:58 PHP, Güvenlik Stefan Esser tarafından gönderildi

Eh, bu sesler gibi korkutucu, ben nihayet PHP güvenlik konusunda "gerçek anlaşma" almak için gerçekten heyecanlıyım. Ben her zaman biraz dikkatli oldum ve Stefan söyleyeceklerini görmek ilginç olacak.

Kaynak: http://sla.ckers.org/forum/read.php?2,3976

Hangi tanıtır güzel Sertleştirilmiş PHP projesi, Suhosin http://www.hardened-php.net/suhosin/ ve PHP Bugs projenin Esser en Ay http://www.php-security.org/

PHP gibi bir şey olarak güvenlidir. Ancak varsayılan olarak, programcı becerileri dayanır değil. Aksine. Varsayılan güvenlik ile yardımcı eğilimindedir NET.

Kapsar yolları dyanmically üretiliyor ise sadece dikkatli olmak güvenlidir.

Aşağıdaki (myfile.php yılında koduna bağlı) zararsızdır

include("mypath/myfile.php");

Burada herkes aynı fikirde - PHP başka bir dil daha kendi içinde ve gerçekten daha az ya da güvenli değildir.

Siz olsa php.ini dosya içine derinlemesine bakmak gerekir. Muhtemelen bütün direktiflerin hakkında bilgi sahibi olmalıdır. Bir sürü insan erken hatalar yapmak yerdir.

Veri giriş kutuları ile ilgili olarak, bir SQL enjeksiyon saldırıları, taşma, kötü karakter, vb endişe olmalıdır filter_var(), mysql_real_escape_string(), pg_escape_string() başlayanlar için gibi fonksiyonlar göz atın .

Sorunuz oldukça geniş ve genel ama yapılan belirli bir noktayı ele:

include (header.php);

nispeten güvenli ama

include ($header);

potansiyel olarak dezenfekte edilmiş nasıl $header atandı ve eğer bağlı olarak tehlikeli bir güvenlik açığı olduğunu.

Özellikle soruyu cevaplamak için, bir dil olarak PHP çok güvenli. Dilin kendisi için, bu dil-tabanlı güvenlik üstünde tutmak için son kararlı yapı kullanmanız önerilir. Php bakıcılarına hataları oluşturmak ve düzeltmek olanlar ;)