Очистка FDB таблицы на DGS-3100 из CRON

Создать файл с содержанием:

snmpset -v2c -c комьюнити айпи .1.3.6.1.4.1.171.10.94.89.89.1.2.0 i 7

Прописать в cron строку с путем к нему:

*/30 * * * *    /home/пользователь/fdb.sh > /dev/null 2>&1

Перезаустить планировщик: sudo /etc/init.d/cron restart

В итоге cron запускает файл каждые 30 минут из которого по SNMP отсылается OID выполняющий очистку таблицы мак адресов. Это может быть примитивным вариантом решения проблемы с моделью DGS-3100 которая при средней нагрузке часто может просто переставать пропускать через себя трафик. Эта проблема массово обсуждалась на форуме D-Link, решение которой можно сказать так и не было найдено. У кого еще остались модели DGS-3100 их лучше заменить на DGS-3120.

Простое кеширование страниц

Приведу пример простого кеширования PHP страниц с интервалом 600 секунд (10 минут).

Вставляем в начале кода:

<?php
$url=$GLOBALS['REQUEST_URI'];
$crc=md5($url);
$modif=time()-@filemtime ("cache/$crc");
if ($modif<600)
{
include ("cache/$crc");
exit();
}
ob_start ();
?>

Код самой страницы:

<html>
Код страницы
</html>

Вставляем в конце кода:

<?php
$cache = ob_get_contents();
ob_end_clean ();
echo $cache;
$fp = @fopen ("cache/$crc", "w");
@fwrite ($fp, $cache);
@fclose ($fp);
?>

Создадим также папку cache, после открытия страницы в неё будет записываться кеш.

Использование .htaccess

.htaccess — (hypertext access) файл дополнительной конфигурации веб-сервера Apache и подобных ему серверов.
Чтобы файл обрабатывался сервером Apache, в конфигурационном файле для указанной директории должна стоять опция «AllowOverride All».

Читать далее «Использование .htaccess»

Скрытие email на сайте от спамеров

Первый способ через JavaScript:

<script type="text/javascript" language="JavaScript">
var login  = 'user';
var server = 'domain.com';
var email  = login+'@'+server;
var url = 'mailto:'+email;
document.write('<a href="'+url+'">'+email+'</a>');
</script>
 
<noscript><img src="URL_картинки"></noscript>

В случае если у пользователя отлючены JavaScript, то выведется картинка указанная в тегах noscript.

Второй способ через PHP:

<?php
$email = 'user@domain.com';
$url = 'mailto:user@domain.com';
$safe_email=$safe_url='';
for($i=0; $i $safe_email .= '&amp;#'.ord($email{$i}).';';
}
for($i=0; $i $safe_url .= '&amp;#'.ord($url{$i}).';';
}
print "<a href="$safe_url">$safe_email</a>";
?>

Исправление ошибки MySQL: Can’t create table ‘tablename’ (errno: 150)

Ошибка MySQL: Can’t create table ‘tablename’ (errno: 150) может возникать когда вы например заливаете бекап и MySQL питается создать таблицу 1 которая ссылается на таблицу 2, которой по сути еще нету. Решить можно вставив в бекап строки:
в начале
SET FOREIGN_KEY_CHECKS = 0;
и в самом конце
SET FOREIGN_KEY_CHECKS = 1;