Я бы добавил еще mod_security. Возможно бьют через дырку в скриптах. Можно либо через auditctl либо на крайняк через stat понять когда внесены изменения и потом попробовать поизучать содержимое запросов в это время. Возможно вылезут какие-нибудь подробности.
Если же у вас руткит на сервере - через auditctl это будет более-менее видно.
Доподлинно этого пока не известно. К тому же это даст timestamp, в районе которого можно будет изучить запросы к apache/nginx.
Аргументируйте, пожалуйста. В 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
А у вас явно не нашлось времени прочитать весь топик ;)
Касательно MD5 в JS - http://pajhome.org.uk/crypt/md5/instructions.html там есть возможность сделать raw string.
А хранится-то где, что ячейка - обязательно CHAR? БД, но структуру БД не поменять?
Если речь идет о PHP - в функцие md5 есть второй параметр "raw output". Поэтому md5( $str, true ) вернет BINARY(16). Если же у вас уже есть HEX представление MD5 в виде 32-х символов - можете сделать, как я написал в прошлом сообщении.