Stajyer Hint STK için çalışan - PHP 4 ile yardım, personel danışmanlık

4 Cevap php

Son üç ay için ben, bir Hint STK için çalışma alanında bazı gönüllü işi değil, aynı zamanda bir ton iş ihtiyaçlarını kendi web sitesi geliştirmek için çalışıyorum. Geçenlerde bozuldu "bültenine abone" düğmesine düzeltmek için çalışıyorum. Ben e-posta girişini süzmek için filter_var kullanılır, ama bu test çalıştım ben bir hata var. Sonra web barındırma hala php sürümü 4.3.2 kullanıyor ve register_globals açık olduğunu öğrendim.

Ben daha önce kendi web barındırma yükseltme gerektiğini bahsettiniz. Bu herkesin e-posta bilgileri (sanırım? Bu 250 kişilik organizasyon) güncellemek zorunda kalacağını kim, 3 BT personeli için karmaşık bir sürü eklemek ve bana yeni bir web barındırma bulmak ve bu konuda onlara öğretmek gerekir. Kafa adam hala IE6 kullanan ve web sitesinin tabloları ortaya koydu (onlar sayfaları düzenlemek için Dreamweaver WYSIWYG) - Personel web kullanımı hakkında da karmaşık değil.

Yani iki seçenek var - personel öğretmeye çalışın sonra kayıt küresellerle kapatın, ben yaparken de o yetenekli değilim (ve ben ayrıldıktan sonra sömürüye karşı daha savunmasız olurdu) e-posta, filtre düzenli ifadeler kullanmak ve hangi Ben yapıyorum, ya da onlara PHP ve MySQL ve / veya değiştirme web barındırma kendi sürümlerini yükseltmek almak için çalışacağım. Ben bazı tavsiyeler sevinirim.

Thanks for your help, Kevin

4 Cevap

Birincisi, ben gerekirse uygulama regexes ile, bu ortamda mümkün olduğunca güvenli ve düzgün çalışmasını sağlamak istiyorum.

Sonra, ben IT insanlarla konuşmak istiyorum. Onlar bir noktada kendi web paketi yükseltmeniz gerekir ve bu nokta zaten uzun geçmiş. PHP 4.3.2 out ve herhangi bir daha fazla desteklenen değil (bkz. here). Bu bir güvenlik açığı tespit edilirse, bu (hala nedeniyle henüz geçtikten değil konak sayısına oldukça olasıdır taşıyamazsınız) bir düzeltme almak için garanti değil demektir.

Daha iyi sonra şimdi geçiş yapmak.

(Onlar web posta kullanıyor musunuz? Kendi posta istemcileri var) organizasyon kullanımı E-Mail olarak insanların nasıl açıklamasından çok net değil ama onlar kendi posta istemcileri kullanmak, "sadece" konu hareketli olacak Yeni bir ev sahibi posta kutuları.

Tüm posta kutularını ve yönlendirmeleri taşımak ve almak için birkaç ağrılı gün sürebilir iken çalışan her şey - yeni verilerle herkesin işyeri kurma gibi - bunu yapmak imkansız değildir, ve neredeyse herhangi bir uzun vadeli gerginlik katacak.

What I would do : - fix your main issue asap : parse the email using a regexp, you can find some quite easily with google - Discuss with the team about upgrading/migrating your host. Fixing the email problem first is allowing you to take your time in this matter.

Eğer web sitesinin diğer sayfalarında daha birçok sorunlarla karşı karşıya olabilir, çünkü kayıt küresellerle kapatmak olmaz. Ama bu iyi bir güncelleme olacak gibi 'yapılacaklar listesi' kalabilir.

Güvenlik real büyük anlaşma ise, o zaman saldırı mücadele için bir katman tanıtmak gerekir. Orada PHP arazi birkaç seçenek vardır, ama hepsi> 5.1.4 gerektirecek gibi görünüyor. Bu nedenle web sunucusu katmanı apache çalışıyorsa belki mod_security kurmadan bakmak istiyorum. Bu şekilde uygulama POST enjeksiyonları sadece korumalı, aynı zamanda enjeksiyonları ve COOKIE exploitations GET edilecektir. Önümüzdeki hafta onlar sizin haberiniz olmadan başka bir form eklemek İkincisi ise gelecek kanıtı uygulama olacak.

Eğer eller berabere var sanki ama ses yok, ve şirket tutan, ya da erişilebilir bir alanda şirket hakkında herhangi kullanıcıları hakkında kişisel bilgileri, ya da hassas bilgileri tutmak niyetinde eğer ben, size karşı dürüst olacağım uygulama, güvenlik o zarif ve doğru bir çözüm için ciddi bir bağlılık, kesmek veya düzeltmeleri bir dizi değil.

İyi şanslar.

RFC822 uyulmadığını kontrol etmek için standart regex çok çirkin:

/^(?:[A-Za-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[A-Za-z0-9-]*[A-Za-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/

dan http://www.regular-expressions.info/email.html (umarım bu kesim / ok yapıştırılan).

Ama bu uygulama sadece ağrıyı geciktirir. Hala register_globals = on gün yaşayan bir host kısa sürede terk edilmelidir. Sadece altüst için yalvarıyor.