войти зарегистрироваться

Информационная безопасностьШкольный DDoS и стоит ли его бояться

Современный интернет предлагает четыреста относительно честных способов зарабатывания денег. К сожалению, не все алчные до наживы персонажи ими ограничиваются. К счастью, только некоторые из них обладают достаточной квалификацией, чтобы причинить серьезный вред. Тем не менее их действия для неподготовленных людей могут оказаться достаточно разрушительными. Под катом вы найдете душещипательную историю с угрозами, шантажом, вероломным нападением и традиционным киношным хеппиэндом.

Персональные блоги Три способа решения проблемы «Fatal error: Allowed memory size of XXX bytes exhausted»

Когда вашему скрипту не хватает оперативной памяти для его выполнения (точнее он не укладывается в объём, который ему разрешён), возникает ошибка «Allowed memory size of XXX bytes exhausted (tried to allocate YYY bytes)».

Для решения данной задачи предлагаю три варианта на выбор в зависимости от прав доступа на сервере и его конфигурации.

Один из этих вариантов вам точно поможет.

Способ первый:


В файле настроек РНР (php.ini) пишем:

memory_limit = 100M

Обычно для простых смертных этот файл править не дают. Всё зависит от вашего хостинг-провайдера. Да и делать вам там нечего.

Способ второй:


В файле настроек сайта (.htaccess) пишем:

php_value memory_limit 100M

При определённой конфигурации сервера вы можете получить ошибку 500 – Internal Server Error.

Способ третий:


В теле вашего скрипта (например, config.php) пишем:
<?php
ini_set('memory_limit', '100M');
?>


Самый простой и безопасный ход решения проблемы. Меня выручает постоянно.

Информационная безопасностьВы несете деньги в Банк, Банки несут деньги в Bitrix

Требования безопасности к сайтам финансовых компаний должны быть максимально жесткими. Мы просмотрели сайты ведущих банков России и зарубежных филиалов и обнаружили, что многие банки оставляют открытый доступ к панели администрирования Bitrix. То есть папке /bitrix/admin/

Информационная безопасностьБанлисты для .htaccess: от XSS до SQL-инъекций. Бонусом плохие реферреры и UA

После топика о способах обнаружения плохоботов,
всеобщее счастье было бы неполным без готовых списков нечисти, кем-то уже собранных.

Удивительно, но поиск не дал результатов по слову «perishable»,
то бишь самый продвинутый ресурс по .htaccess защите не упоминался на хабре ни разу.
Разработка продвинутых бан-листов ведется автором с 2006г., действует уже четвертое поколение списка (и намечается 5-е).
Он же утверждает, что повышение нагрузки на Апач от порядком разросшегося списка — незаметное,
по сравнению с тем как полегчало серверу после слива агентов матрицы и просто кидисов.

Персональные блоги Определение адреса страницы после RewriteRule с использованием mod_proxy

Столкнулся с проблемой, которую коллегиально решали почти сутки.

Вкратце: есть сайт, все страницы/шаблоны которого обрабатываются и отдаются через единый index.php, и к тому же для организации ЧПУ (friendly urls) использован htaccess с весьма немалым списком различных правил RewriteRule.

И всё бы хорошо, но вот понадобилось для решения одной задачи знать, а какой же адрес запрашивает клиент. То есть фактически php скрипт знать-не-знает что ввел пользователь в адресной строке, так как запрос он получает уже он htaccessа который и вызывает нужны скрипт.

Я пиарюсь PHP Speedy — наше все

PHP SpeedyЧто такое PHP Speedy? Это набор php-скриптов, которые позволяют объединять и сжимать CSS- и JS-файлы для веб-сайта, написанного на PHP. Изначально разрабатывался как приложение к Wordpress, но сейчас получил более широкое распространение.

PHP Speedy был выбран в качестве основы для начала разработки Web Optimizer — веб-приложения, автоматизирующего клиентскую оптимизацию. Предполагается, что такое приложение можно будет максимально быстро и максимально легко развернуть на любой платформе, а оно уже само позаботится о всех действиях, связанных со скоростью загрузки страницы.

Как показала практика, клиентская оптимизация интересует большой круг людей. Но очень многих останавливает то, что нужны специальные знания для освоения этой области. Web Optimizer создается как раз, чтобы убрать этот барьер (и как наш ответ Чемберлену www.getrpo.com :).

Персональные блоги Помогите разобраться с mod_rewrite

Здравствуйте!
Прошу помощи в написании одного несложного правила перенаправления для mod_rewrite.

Требуется, чтобы для всех ссылок, запрашивающих любые элементы (графика, ситили, скрипты) действовало следующее правило перенаправления:
Если запрошен элемент, содержащий в адресе "../" допустим (../css/generic.css), перенаправить его на адрес: базовая_директория/view/[запрошенный_адрес] (css/generic.css).

WordpressУскоряем wordpress

Привет.
Думаю, среди читателей хабра найдется немало тех, кто имеет stand-alone blog на движке wordpress.

Так вот, для вас, дорогие мои, у меня есть две новости, как водится, плохая и хорошая.
Плохая состоит в том, что wordpress — довольно-таки тормознутая штука.
Виноваты в этом в основном криворукие производители тем и, особенно, криворукие производители плагинов. Особенно кривой плагин, на мой вкус, wp-ajax-edit-comments, который является образцом быдлокодинга.

Хорошая — в том, что это можно поправить.

Персональные блоги Пользовательские виртуальные домены

Если посмотреть на URL-адрес профиля пользователя habrahabr.ru, то можно увидеть, что доменом третьего уровня является его логин.
Этот подход носит название «пользовательские виртуальные домены».

Персональные блоги Запрет индексации сайта поисковыми ботами при помощи.htaccess

При активной разработке многие используют копии сайта в других доменах, для эксперементов или доработки сайтов (не на работающем же вносить изменения).
И вот многие сталкиваются с проблемой как отгородить поисковики от этого домена и притом оставить рабочую версию сайта.

Проще всего и без вмешательств в код это сделать при помощи .htaccess
Создаем файл .htaccess и пишем в нем:

SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot

<Limit GET POST HEAD>
Order Allow,Deny
Allow from all
Deny from env=search_bot
</Limit>


для проверки работоспособности можно использовать следующий PHP-скрипт

<?php
if(empty($_POST)) {
?>
<form action="?" method="post">
<table><caption>Открываем сайт представлясь под любым User-Agent</caption>
<tr><td>User-Agent</td><td><input type="text" size="40" name="ua" value="GoogleBot"></td></tr>
<tr><td>Host</td><td><input type="text" size="40" name="host" value="www.exemple.com"></td></tr>
<tr><td>GET</td><td><input type="text" size="40" name="get" value="/index.php"></td></tr>
<tr><td> </td><td><input type="submit" value='Отправить'></td></tr>
</table>
</form>
<?php
} else {
echo "<b>Отправляем заголовки:</b><br>";
$host=$_POST['host'];
$get=$_POST['get'];
$ua=$_POST['ua'];
$headers=array(
'get'=>'GET '.$get.' HTTP/1.0',
'host'=>'host:'.$host,
'useragent'=>'User-Agent:'.$ua,
'cc'=>'Connection: close'
);
echo "<pre>"; print_r($headers); echo "</pre><br><br><b>Ответ сервера:</b><br>";
$out="";
$spy=fsockopen($host,80,$errno,$errstr,20);
if(!$spy) $page.="<font color=red>Ошибка создания сокета</font>";
elseif(fwrite($spy,implode("\r\n",$headers)."\r\n\r\n"))
while(!feof($spy))
$out.=fgets($spy,1024);
echo '<pre>'.htmlspecialchars($out).'</pre>';
}
?>


ну вот теперь можно полностью эксперементировать и никто не узнает про существование экспериментальной копии Вашего сайта ;)