Eklenti Klasörleri Boş Bir index.php Dosyası İçermeli mi?


16

WordPress'in kendisi, wp-contentklasörde, buna benzeyen boş bir PHP dosyası içerir.

<?php
// Silence is golden.
?>

Eklentiler, milletlerin bir dizinin içeriğini görüntülemesini durdurmak için de bunun gibi boş bir dosya içermeli mi? Temalardaki includesdizinler gibi ek klasörler ne olacak ?


1
evet, muhtemelen iyi bir fikir. Options –Indexes
WP'nin

Yanıtlar:


17

Hayır, yapmamalılar. Bir eklentinin sadece dizin yapısını görebildiği için güvenlik açıkları varsa, bozuktur. Bu hatalar düzeltilmelidir.
Belirsizlik yoluyla güvenlik kendi başına bir hatadır.

Dizin taramasına izin vermek veya yasaklamak site sahibine bağlıdır.

İkinci bir sorun performanstır: WordPress, eklenti üstbilgilerini bulmak için eklentinin kök dizinindeki tüm PHP dosyalarını tarar . Bu, aynı dizinde birden çok eklentiye sahip olmanızı sağlar, örn /wp-content/plugins/wpse-examples/.

Ayrıca, bu dizindeki kullanılmayan PHP dosyalarının WordPress eklentileri ararken zaman ve belleği boşa harcadığı anlamına gelir. Bir dosya çok fazla zarar vermez, ancak bunun ortak bir uygulama olduğunu düşünün. Bir kurguyu düzeltmek için gerçek bir sorun yaratıyorsunuz.


2
"Onun site sahibine kadar izin veya dizin tarama yasak." Muhtemelen kilit nokta budur.
12'de chrisguitarguy

ve asıl sorum, neden ana eklenti dosyaları yazılmıyor index.php? geçici çözüm olabilir
T.Todua

10

EVET diyeceğim. Güvenlik, komşularınızdan daha belirsiz olursanız işe yarar :) (şaka ama bununla ilgili bir gerçek var).

Gerçek şu ki, botlar / tarayıcılar artık wordpress.org'dan eklenti listelerini derliyor ve bilinen istismarlar için parmak izi sürümleri ve bilgileri referans için bir veritabanında tutarak eklenti url'lerini doğrudan tarar.

Yani hangisine sahip olmayı tercih edersiniz, bir bot kurulumunuzda bilgi toplayamaz veya güvenli olduğundan emin olmak için eklenti yazarına bırakmaz. Her ikisine de.

ps. Bir yan notta, geçen yıl wordpress.org eklentilerinden bildirilen 186 istismar vardı (* bildirildi ..).


1
Exploit tarayıcılar eklentinin mevcut olup olmadığını test etmez. İlk istek sırasında istismarı çalıştırmaya çalışırlar. Boş bir index.phpşey hiçbir şeyi korumaz, yanlış bir güvenlik duygusu alırsınız.
fuxia

Ancak, wp-scan (birçoklarından biri) örneğin 2200 eklentiden fazla parmak izi yapar ve sürümleri (dosya boyutu, dosya eklemeleri vb.) Algılamak için bazı iyi parmak izi kullanır.
Wyck

Onlarca saldırıya uğramış WordPress sitesini temizledim. Neredeyse her zaman ilk talep gerçek bir saldırıdır. Bu sadece makul: İlk istekte güvenlik açığını test edebiliyorsanız neden ayrıntılı bir tarama ile zaman harcıyorsunuz? Görmek için 404'lerinizi takip edin. :)
fuxia

1
Katılıyorum, bu yazara değil son kullanıcıya bağlı olmalı. Ama ben de acıttığını sanmıyorum. Sadece "hayır" dediğinden beri bir kontrpuan eklemek istedim.
Wyck

1
yorum tartışması nedeniyle bunu kabul edilmiş olarak işaretledi!
chrisguitarguy

1

WordPress çekirdeği yaptığı için, eklentilerin uygun olması mantıklıdır. Tüm bunlar çeşitli sunucu tarafı ayarlarıyla korunabilirken, varsayılana sahip olmak zarar vermez (muhtemelen neden WordPress çekirdeği bunu yapar).


0

Fuxia'nın belirttiği gibi .php, WordPress'in eklentileri taramak için ek bir dosyaya sahip olmasında bir performans dezavantajı var . Bir index.htmlmuhtemelen daha iyi bir seçenek olacaktır. Tabii ki, en iyi seçenek web sunucusunda dizin taramasını yasaklamak olacaktır.

Ayrıca, muğlaklık yoluyla güvenlik iyi değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.