Archive for Липень 2009

Автоматично додаються розширення файлів в Apache

Можлива ситуація, коли сервер автоматично підставляє файлові розширення в шляхи у випадку, коли файл існує. Тобто, ввівши шлях http://server.net/script ми можемо отримати вміст файлу script.html якщо файл з іменем script реально існує в цій папці.

Щоб уникнути цього, потрібно в налаштуваннях сервера знайти директиву MultiViews і закоментувати її. Або ж прописати в файлі .htaccess наступний рядок:

Options -MultiViews

По ідеї, опція «автодоповнення» повинна бути відключена в налаштуваннях сервера по замовчуванню, але, як показує практика, можливі різні варіанти ;)

Коментарів немає

Проблема з іменами хостів на локальному ПК

iЗавдяки широкій популярності таких пакетів як Денвер, WAMP тощо, проблеми налаштування веб-сервера на локальному комп’ютері звелись до мінімуму. І справді, інсталяція займає всього кілька кліків, не потрібно довго шаманити з конфігураційними файлами. Проте нюансів локальної веб-розробки вистачає. Нижче – про один із них.

Часто при створенні локальних сайтів програміста охоплює незрозуміле бажання назвати свій веб-сайт якомога простіше. Як наслідок, з’являються адреси типу http://testsite або http://my_testsite На перший погляд, все нормально, принаймні налаштування того ж Денвера дозволяють працювати з цими хост-адресами. Проблеми починаються згодом, коли чомусь некоректно працює сесія в РНР, не працює авторизація у WP – список можна продовжити. Додаткову неясність вносить різна поведінка цих “несправностей” у різних браузерах. Звичайно, причину кожної з проблем можна пояснити, але значно простіше виконувати одну елементарну рекомендацію: завжди створювати локальні імена сайтів так, як вони виглядали б в інтернеті:http://testsite.net або http://www.testsite.net

Коментарів немає

“Безкоштовні” шаблони для WordPress

В інтернеті  кількість безкоштовних шаблонів для  WordPress вже давно вимірюється тисячами. Як-то кажуть – “Обирай та завантажуй!”. Але частою стає ситуація, коли ніби безкоштовні шаблони містять кілька рекламних лінків, причому зовсім необов’язково, що лінків на сайт автора шаблону. Як позбутись цієї реклами? Є варіанти:

1. Реклама прописана простим текстом(HTML чи PHP в через echo). Самий примітивний варіант – просто видаляється чи закоментовується.
2. Реклама прописана в “закодованому” вигляді, через функції РНР. Наприклад

eval(gzinflate(base64_decode("dVI7b9swEJ4dIP/hqkU2...."));

Якщо просте закоментування руйнує структуру шаблона(тобто з рекламою частково закодовано і будову шаблона ), то потрібно спочатку вивести закодований текст через echo, потім видалити з нього рекламні фрагменти і замінити ним “закодовану” частину шаблону.
3. Реклама закодована спеціальним РНР-кодувальником. Наприклад:

/* WARNING: This file is protected by copyright law. To reverse engineer or decode this file is strictly prohibited. */
$o="QAAAOzh3b3cKDWFyaWRzbmhpJwAAc2...";
eval(base64_decode("JGxsbD0wO2V2YWwoYmFzZTY0X2R..."));

В цьому випадку є наступний метод: в тексті шаблону закодована ділянка виділяється спеціальними HTML-коментарями. Наприклад:та Далі відкривається сторінка з шаблоном – Перегляд коду сторінки – Пошук і копіювання всього, що знаходиться між коментарями – Вставка знайденого коду замість “закодованої частини” в шаблон.
Якщо навіть це не допоможе, то можна пошукати в неті рецепти “боротьби” з програмою -кодувальником (В коментарях шаблону як правило вказується, чим саме зашифрований код).
4.Інколи рекламний код(неважливо зашифрований чи ні) фізично не знаходиться в жодному з PHP/html файлі. Замість того він підпільно завантажується в якості … картинки! Тобто створюються кілька псевдографічних файлів, що містять “графічний заголовок”, а в середині них – рекламний РНР код.

P.S. Шаблони, завантажені на офіційний сайт wordpress від таких “сюрпризів” як правило позбавлені і спокійно розповсюджуються за ліцензією GPL.  Інші популярні західні сайти-каталоги шаблонів теж ніби почали наводити порядок з прихованою рекламою, але перевірити свіжоскачану тему на підозрілі вихідні лінки зайвим ніколи не буде.

Коментарів немає