"Sadece çekirdeği hackleyerek çözülebilecek sorunlar yok mu? Ne olacak?"
Bu soruyu cevaplamak için, evet, bazen üstesinden gelmek zorunda olduğunuz, çekirdeği (veya bir katkı modülünü) kesmek zorunda olduğunuz anlamına gelir.
Bu durumda, saldırıya uğramış kodunuza çok sayıda yorum koyduğunuz ve değiştirdiğiniz her şeyi belgelediğiniz sürece hacklemenin uygun olduğuna inanıyorum.
Örneğin, herhangi bir çekirdek veya katkı değişikliği için bir yama oluşturuyorum. Diğer insanlar için genel ve faydalıysa, bir konuda drupal.org'a gönderirim, aksi takdirde kendi kullanımım içindir.
Daha sonra yama dosyasını kod değişikliğiyle birlikte sürüm kontrolüme aktarıyorum.
Bu, bir şey saldırıya uğradıysa yama dosyalarını arayarak görebildiğim anlamına gelir.
Buna ek olarak, site için geliştirici belgelerine de bir liste ekledim (gerçekten kaçınılmaz bir şekilde unutduğunuzda sitede ve kendiniz için çalışabilecek başkalarının uğruna geliştirici belgelerine sahip olmalısınız).
Bu hack belgelerinde, her hack'i hack'in ne yaptığı ve nedenleri, modülleri / dosyaları etkiledi, hack kodunu içeren yama dosyasının adı ve varsa ilgili drupal.org sorununa bir bağlantı (neredeyse her zaman benim durumumda var).
O zaman siz ve gelecekte başka kim çalışıyorsa, korsanların tam bir listesine sahipsiniz ve yanlışlıkla bir güncellemeyle bir şeyleri kırmaktan endişelenmenize gerek yoktur.
Sonra güncelleme işlemi için kesmek listemi kontrol ediyorum ve güncellediğim tüm modüllerde yama dosyalarını hızlıca inceliyorum. Bir saldırı varsa ve bir drupal.org sorunu varsa, en son sürümde düzeltme ekinin bulunup bulunmadığını görmek için sorunu kontrol ediyorum, bu durumda hack'i güncellemeyle patlatıp hack listemden kaldırıyorum ( drupal.org taahhüt mesajlarına bakarak, taahhüt edilen şeyin kullandığınız yamanın sürümü ile aynı olduğunu veya en azından işlevsel olarak aynı olduğunu unutmayın).
Yama yapılmadıysa, tek yapmam gereken modülleri güncellemek ve yamaları yeniden uygulamak. Birçok durumda yamalar yine de temiz bir şekilde uygulanır ve işlem kolaydır, ancak bazen yamaları yeni sürüm için yeniden kaydetmeniz ve ardından yamanın yeni sürümünü yerel havuzunuza taahhüt etmeniz gerekir. varsa drupal.org sorunu).
Bir modülün temel işlevleriyle (veya yalnızca drupal.org modülünün üzerine uzanan özel modüllerle) etkileşime giren daha önemli yamalar veya yamalar varsa, yapmak istediğim başka bir şey, güncellenen modülün sürüm notlarını ( bu, geçerli sürümünüzle güncellemekte olduğunuz sürüm arasındaki tüm sürüm anlamına gelir) ve kodunuzu kırabilecek hiçbir şey olmadığından emin olun. Not: Pek çok modül koruyucusu bugünlerde tam sürüm notları vermekle iyidir, ancak yine de çöp sürüm notları yapan çok şey vardır. Bu durumda bazı durumlarda geçerli sürümümden bu yana tüm taahhüt mesajlarını inceliyorum (bu genellikle sadece başka bir modülle derinden etkileşen karmaşık kodlara sahip olduğum durumlarda). Not:
Ardından, güncelledikten sonra (sitenin geliştirme kopyasında) iyice test edin. Sonunda birkaç hata geçtikten sonra ne anlama geldiğini öğreneceksiniz.
Ardından, yeterince test edildiğinde, canlı siteyi yükseltin veya yerel güncellemelerinizi veya dağıtım işleminiz ne olursa olsun yükseltin.
Daha kolay olsa bile herkesin bunu yapmadığını söylemesinin nedeni: Çoğu insanın benim özetlediğim gibi bir sistemi olmadığı için, güncelleme yapma zamanı geldiğinde veya site çalışmak için başka birine teslim edildiğinde Bu, bir kabus haline gelir ve çok fazla zaman (bazen çok büyük bir zaman), hataları çözmek ve kesmek izlemek ve neden orada olduklarını araştırmak için harcanmalıdır.
Eğer böyle bir siteyi devralmışsanız, tam olarak anlayacaksınız :)