Чтоб отправить поля формы(в примере с id="f2s"), с помощью jQuery и аякса методом POST, в качестве второго аргумента не обязательно специально создавать объект в котором перечислять поля в виде ключ-значение.
Можно поступить так:
[cc lang="html"]
debug me
[/cc]
iptables: фильтрация по юзерам
Задача: необходимо ограничить доступ в сеть определённым пользователям.
Всё это делается очень просто с помощью iptables и его модуля owner, который позволяет проверять от кого(какого uid пользователя) ушёл пакет
Например запрещаем весь исходящий траффик пользователю 1001 везде, кроме локальной сети 192.168.0.0/24:
[cc lang="bash" line_numbers="false"]
# iptables -A OUTPUT -m owner --uid-owner 1001 ! -s 192.168.0.0/24 -j REJECT
[/cc]
Думаю понятно, что посмотреть соответствия имя пользователя - uid можно в /etc/passwd, например cat /etc/passwd
Подробнее, что умеет owner и iptables в целом можно найти тут
Это может использоваться как защита детей от интернета.
Очень важно чтоб модуль ядра owner был собран в ядре, в моём случае на генте пришлось пересобирать. Ошибка в этом случае такая:iptables v1.4.4: Couldn't load match `owner':/lib/xtables/libipt_owner.so: cannot open shared object file
А серверов всё мало
Мысль пришла из серии "чем больше имеешь тем больше хочется". Может это и нормально, ведь технологии тяжелеют, требования к надежности и скоростям стоновятся жостче.
В общем про то как начал использовать сервера...
Смена дефолтной jvm в debian
Чтоб изменить виртуальную машину ява(jvm) по умолчанию можно воспользоваться утилиткой update-alternatives
У меня вот так:
update-alternatives --config java Есть 4 вариантов для альтернативы java (предоставляет /usr/bin/java). Выбор Путь Приор Состояние ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 автоматический режим 1 /usr/bin/gij-4.3 43 ручной режим 2 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 ручной режим * 3 /usr/lib/jvm/java-6-sun/jre/bin/java 63 ручной режим 4 /usr/lib/jvm/java-gcj/jre/bin/java 1042 ручной режим
foreach: признак последней итерации
[cc lang="php"]
// пусть есть массив $spots, c любмыми типами ключей
$last_key = end(array_keys($spots));
foreach($spots as $k => $spot) {
$isLast = ($k === $last_key);
....
// что то делаем
}
[/cc]
Нужно просто получить последний ключ массива а потом сравнивать очередной ключ при каждой итерации. Можно конечно использовать $last_key = count($spots) - 1; но в случае ассоциативного массива это бы не сработало.
Расширяем возможности тачпада
Добавив опций для настройки тачпада в конфиг X-сервера получим:
- Правая полоска тачпада - вертикальная прокрутка одним пальцем
- Нижняя полоса прокрудки - вертикальная прокрутка одним пальцем
- Хлопок 2мя пальцами - эмуляция нажатия правой кнопки мыши
- Движение 2х пальцев по тачпаду в любом месте - вертикальная прокрутка
- Хлопок 3мя пальцами - эмуляция нажатия средней кнопки(колеса) мыши
- Круговая прокрутка текста как на ipod-е, начиная с левого верхнего угла
Yota теперь не выдаёт внешних ip
С сегодня, 6 мая 2009 года yota не выдаёт внешние динамические ip, как это было раньше.
Поднятие интерфейса lo в debian при загрузке
Для меня было совершенно не ожиданно, что по умолчанию loopback интерфейс опущен "изкаропки"
Debian squeeze + kde4: мучения
Попытка установить дебиан с последними "гламурными кедами" кедами, в качестве основной системы
KY-BT100: не работает с новыми ядрами
Я счастливый обладатель блутус устройства KY-BT100, который как теперь оказалось, не работает с новыми ядрами.