faedrus: michaek, а какое логирование еще можно подключить?
Я бы добавил еще mod_security. Возможно бьют через дырку в скриптах. Можно либо через auditctl либо на крайняк через stat понять когда внесены изменения и потом попробовать поизучать содержимое запросов в это время. Возможно вылезут какие-нибудь подробности.
Если же у вас руткит на сервере - через auditctl это будет более-менее видно.
slavegirl: Glueon, к сожалению, речь идет не о PHP, а о Javascript. Но вмешаться в алгоритм работы функции у меня просто не хватает знаний. Также хранить хэш у меня есть возможность только в виде строки: 1 символ = 1 байт (даже если результатом окажется число).
slavegirl: То есть, полученный результат из 16-разрядной системы счисления нужно перевести в какую-то другую, которая будет использовать больше символов для одной позиции (например, не [a-f0-9], а [a-z0-9])? Даже не представляю, как это можно сделать...
Если речь идет о PHP - в функцие md5 есть второй параметр "raw output". Поэтому md5( $str, true ) вернет BINARY(16). Если же у вас уже есть HEX представление MD5 в виде 32-х символов - можете сделать, как я написал в прошлом сообщении.
michaek, а какое логирование еще можно подключить?
Я бы добавил еще mod_security. Возможно бьют через дырку в скриптах. Можно либо через auditctl либо на крайняк через stat понять когда внесены изменения и потом попробовать поизучать содержимое запросов в это время. Возможно вылезут какие-нибудь подробности.
Если же у вас руткит на сервере - через auditctl это будет более-менее видно.
Glueon, ну да, выдаст, что изменения были сделаны апачем, что и так понятно
Доподлинно этого пока не известно. К тому же это даст timestamp, в районе которого можно будет изучить запросы к apache/nginx.
ovh по ряду причин лучше хетзнера.
хетзнер отличный вариант под бэкенды. (когда их нужно много и выход из строя 1 не влияет на работу в целом)
Аргументируйте, пожалуйста. В hetzner ведь даже функция failover ip есть, поэтому для фронтенда в том числе хорошо использовать.
ЧПУ может и с русскими бувами быть. Только насколько это хорошо сказать затрудняюсь. Русская Wiki не жалуется вроде )
Попробуйте ionotify: http://inotify-tools.sourceforge.net/
Или стандартное audictl: http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html.
Сценарий использования:
1. touch /tmp/file - создадим файл
2. auditctl -w /tmp/file -p wa -k logFile - включим логирование изменений
3. touch /tmp/file - что-нибудь сделаем с файлом
4. ausearch -k logFile - посмотрим лог изменений
Выдаст в итоге что-кто-куда. Будет, наверное, неплохим началом.
Правду говорят - AJAX запрос запрещается политикой безопасности слать на другой домен. Два выхода:
1. Вы перепишите код так, что слать будете на тот же домен, а на сервере будете проксировать запрос
2. На том другом домене при выдаче ответа воспользуетесь CORS: http://css.dzone.com/articles/ajax-requests-other-domains.
Ну и на wiki ссылка - http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing
По сути нужно добавить в PHP код один Header. Если доступа к коду нет - придется делать проксирование своим кодом.
Да, стоить не забыть отметить, что в HTML5 есть возможность работать с хранилищем: http://diveintohtml5.info/storage.html
а прочитать описание самой функции времени нет?
А у вас явно не нашлось времени прочитать весь топик ;)
Glueon, к сожалению, речь идет не о PHP, а о Javascript. Но вмешаться в алгоритм работы функции у меня просто не хватает знаний. Также хранить хэш у меня есть возможность только в виде строки: 1 символ = 1 байт (даже если результатом окажется число).
Касательно MD5 в JS - http://pajhome.org.uk/crypt/md5/instructions.html там есть возможность сделать raw string.
А хранится-то где, что ячейка - обязательно CHAR? БД, но структуру БД не поменять?
То есть, полученный результат из 16-разрядной системы счисления нужно перевести в какую-то другую, которая будет использовать больше символов для одной позиции (например, не [a-f0-9], а [a-z0-9])? Даже не представляю, как это можно сделать...
Если речь идет о PHP - в функцие md5 есть второй параметр "raw output". Поэтому md5( $str, true ) вернет BINARY(16). Если же у вас уже есть HEX представление MD5 в виде 32-х символов - можете сделать, как я написал в прошлом сообщении.