среда, 31 августа 2016 г.

Вывод расширенной информации о домене в зоне name

Стандартный вывод whois:
$ whois mydomain.name
...
 Domain Name ID: 12267187_DOMAIN_NAME-VRSN
 Domain Name: MYDOMAIN.NAME
 Sponsoring Registrar: REGISTRAR OF DOMAIN NAMES REG.RU LLC
 Sponsoring Registrar IANA ID: 1606
 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited

Расширенный вывод:
$ whois -h whois.nic.name 'domain = mydomain.name'
или
$ whois domain=mydomain.name
...
   Domain Name ID: 12267187_DOMAIN_NAME-VRSN
   Domain Name: MYDOMAIN.NAME
   Sponsoring Registrar: REGISTRAR OF DOMAIN NAMES REG.RU LLC
   Sponsoring Registrar IANA ID: 1606
   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
   Registrant ID: 12052366_CONTACT_NAME-VRSN
   Admin ID: 12052366_CONTACT_NAME-VRSN
   Tech ID: 12052366_CONTACT_NAME-VRSN
   Billing ID: 12052366_CONTACT_NAME-VRSN
   Name Server: CHAN.NS.CLOUDFLARE.COM
   Name Server ID: 2629506_HOST_NAME-VRSN
   Name Server: PLATO.NS.CLOUDFLARE.COM
   Name Server ID: 2603988_HOST_NAME-VRSN
   Created On: 2013-09-29T15:53:31Z
   Expires On: 2017-09-29T15:53:31Z
   Updated On: 2016-07-21T17:08:44Z

вторник, 16 августа 2016 г.

Проблемы с eaccelerator (Invalid opcode, Unable to change cache directory)

Кривой eaccelerator, который нужно патчить при каждом чихе.
Например могут встретиться такие ошибки:
[error] [client 1.1.1.1] eAccelerator: Unable to change cache directory /var/cache/php-eaccelerator permissions
или
Fatal error: Invalid opcode 153/1/8. in /var/www/.../pdofetch.class.php on line 494

Для устранения первой ошибки мне помог этот патч:
# diff -U 0 eaccelerator.c_old eaccelerator.c
--- eaccelerator.c_old 2016-08-16 14:17:15.331786184 +0300
+++ eaccelerator.c 2016-08-16 13:34:36.592906639 +0300
@@ -1770 +1770 @@
-        if (buffer.st_mode != 777) {
+        if (buffer.st_mode != 040777) {

Для второй:
# diff -U 0 optimize.c_old optimize.c
--- optimize.c_old 2016-08-08 12:00:02.000000000 +0300
+++ optimize.c 2016-08-08 12:00:43.000000000 +0300
@@ -3503,0 +3504,11 @@
+    /* do not optimize if opcodes have "closures" */
+    zend_op* op = op_array->opcodes;
+    int len = op_array->last;
+    int line_num;
+
+    for (line_num = 0; line_num < len; op++,line_num++) {
+        if (op->opcode == ZEND_DECLARE_LAMBDA_FUNCTION) {
+            return;
+        }
+    }
+

Также можно еще в /etc/php.d/eaccelerator.ini попробовать сменить значение переменной eaccelerator.cache_dir:
eaccelerator.cache_dir = "/tmp"
;eaccelerator.cache_dir = "/var/cache/php-eaccelerator"

пятница, 12 августа 2016 г.

Блокировка по User-Agent с помощью IPTables

Блокируем все соединения на 80 и 81 порты, в которых есть совпадения с нужным UA:
# iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string "compatible; MSIE 6.0; Windows NT 5.1; SV1" -j DROP
# iptables -A INPUT -p tcp --dport 81 -m string --algo bm --string "compatible; MSIE 6.0; Windows NT 5.1; SV1" -j DROP