Simple Download Monitor pro WordPress

Simple Download Monitor je mým prvním pokusem o vytvoření pluginu pro publikační systém WordPress. Napsal jsem ho proto, že jsem chtěl mít nějakou statistiku o počtu stažení jednotlivých souborů a přitom nemusel vytvářet speciální databázi souborů ke stažení, modifikovat odkazy a podobně. Prostě jsem chtěl pokračovat v tom, jak soubory publikuji teď – pomocí FTP je nahraju na web a všude, kde se to hodí, pak rozhazuji přímé odkazy na tyto soubory. Ještě tak bych ustál počáteční konfiguraci, ale přidávání dalších souborů už chci mít zcela bezpracné. Simple Download Monitor vyžaduje právě jen tohle a poskytuje mi právě jen ty informace, které mě zajímají.

Obrázek základních statistik

Základní statistiky

Obrázek detailních statistik

Detailní statistiky

Instalace

  1. Vytvořte nový adresář v adresáři /wp-content/plugins/ a plugin do něj rozbalte. Název adresáře může být libovolný – já používám simple-download-monitor, ale plugin by se měl vypořádat s každým jménem.

  2. Aktivujte plugin v menu Pluginy ve WordPressu.

  3. V menu Nastavení přibyde nová položka Simple Download Monitor. V ní můžete nastavit:

    • Povolené adresáře. Problematickým místem pluginu je, že by se potenciálně mohl stát velkou bezpečnostní dírou do vašeho webu, protože by při nesprávné konfiguraci mohl dovolit stahování zdrojových kódů WordPressu (jako třeba zdroják config.php – to rozhodně není žádoucí, protože tento soubor obsahuje například přihlašovací údaje k databázi). Vhodným nastavením „povolených adresářů“ omezíte Simple Download Monitor jen na adresáře, jejichž relativní cesta vůči rootu webu vyhovuje zadanému regulárnímu výrazu. Výchozí hodnota files/ tak říká, že Simple Download Monitor bude zpracovávat pouze soubory z adresáře /files a jeho podadresářů. Z bezpečnostních důvodů je velmi vhodné všechny soubory ukládat do tohoto jediného adresáře a ne porůznu po webu.

    • Povolené přípony. Jde o další bezpečnostní opatření: Simple Download Monitor bude zpracovávat jedině soubory, jejichž přípony (bez tečky) vyhoví zadanému regulárnímu výrazu. Doporučuji zde dávat jenom takové přípony, které jsou „bezpečné“ – přípony komprimovaných archívů, obrázků a podobně. Rozhodně a za žádných okolností zde nechcete povolit příponu php nebo přípony databázových souborů – ani přímo, ani příliš rozsáhlými zástupnými znaky (nejhorší možný nápad je dát sem hodnotu .* čili „všechny přípony“).

    • Ukládat detailní informace? Simple Download Monitor může ukládat buď detailní statistiky (kdo, kdy a odkud co stahoval) nebo jen hrubou statistiku (kolikrát byl stáhnut ten který soubor). Detailní statistiky obsahují víc informací, ale pokud se od vás hodně stahuje (což tedy není případ mého webu), mohlo by to databázi zaplnit dost rychle. Proto je tu možnost tyto statistiky vypnout.

    Obrázek nastavení pluginu

    Nastavení pluginu

  4. Poslední (a nutnou) součástí instalace je úprava souboru .htaccess. Standardní .htaccess je totiž nastaven tak, že se existující soubory stahují přímo, aniž by do nich WordPress jakkoliv zasahoval nebo se o nich třeba jen dozvěděl. Protože potřebuji, aby se Simple Download Monitor o těchto souborech dozvěděl, potřebuji modifikovat i .htaccess. Naštěstí jde o jednoduchou úpravu: Ve vašem existujícím souboru najděte řádek:

    RewriteCond %{REQUEST_FILENAME} !-f

    A přidejte nad něj řádek:

    RewriteRule ^(files/.*) /index.php?sdmon=$1 [L]

    (místo files/ napište adresář, do kterého ukládáte soubory a který jste zadali v nastavení pluginu).

Download

Podobné příspěvky:

10 Responses to “Simple Download Monitor pro WordPress”

  1. pepak pepak napsal:

    Verze 0.07 přináší podporu pro monitorování inline obsahu. To dovoluje například sledovat počet stažení obrázků vložených do HTML stránek.

  2. pepak pepak napsal:

    Verze 0.08.

  3. Liso1 Liso1 napsal:

    super plugin, len by som sa chcel spýtať, či by sa nedalo spraviť aby počet stiahnutí súboru zobrazoval na stránke na ktorej sa dá súbor stiahnuť, teda počítadlo stiahnutí na stránke wordpressu

  4. pepak pepak napsal:

    Nedalo, aspoň ne za současného stavu – plugin nemá informaci o tom, odkud se soubor stahuje (o tom to právě je, aby monitoroval každý, i neexistující, download, aniž by uživatel musel cokoliv zapisovat do databáze). Pokud by se to mělo zobrazovat někde ve stránce, vyžadovalo by to přinejmenším tu spolupráci uživatele, že místo jednoduchého odkazu zavolá nějakou speciální funkci (kterou bych musel napsat). To už je ale lepší použít jiný plugin, který je přímo určený k takovým operacím.

  5. Liso1 Liso1 napsal:

    mám ešte jeden problém, zložka v ktorej sú súbory, ktoré sa majú započítavať (majú koncovku .rar) sa nachádzajú aj obrázky (.png, .gif), ale tie nechcem aby sa započítavali, len ich chcem mať v tej istej zložke, ide mi len o to, že takéto obrázky sa po zadaní adresy nezobrazia, nedá sa niečo upraviť v .htaccess? dúfam že som to napísal pochopiteľne, ak nie, tak sa to budem ešte snažiť upresniť

  6. pepak pepak napsal:

    S tím se nic moc dělat nedá. Plugin rozlišuje jen mezi „dovolit download a monitorovat“ a „zakázat download“. Nemá žádné nastavení pro „dovolit download, ale nemonitorovat“ – to by vyžadovalo nějaké udržování databáze, a to je přesně to, čemu jsem se chtěl vyhnout. Přes .htaccess by to sice šlo, ale poměrně pracně a neohrabaně – to už je lepší ty soubory rozdělit do dvou různých adresářů.

  7. Liso1 Liso1 napsal:

    tomu som sa prave chcel vyhnúť ja (kopírovať obrázky z asi 800 zložiek a ďalších 800 vytvárať sa mi nechce), ale plugin musím pochváliť ,je super, skúsim to vymyslieť nejak inak

  8. pepak pepak napsal:

    Pokud rozumíš PHP, tak nejsnazší bude oeditovat si zdroják pluginu – potřebuješ v metodě Download() vyřadit ty zápisy do databáze, co tam jsou.

  9. pepak pepak napsal:

    Verze 0.09 přináší dvě užitečné novinky.

  10. pepak pepak napsal:

    Verze 0.10 je kompatibilní s PHP 4 a přináší podporu běloruštiny.

Leave a Reply

Themocracy iconWordPress Themes