Arti Markelov: понятное дело, что крякается. Но если вы разработчик, приятно будет, если вместо того, чтобы заплатить вам 1000$ за заказ, вам заплатят только 700? Я не поддерживаю пиратство без излишней необходимости.
Вадим Гук: она излишняя. Обычно нужно просто очистить <>&" и ' , только они могут повлиять как-то на html-код, а вот strip_tags делает лишнюю работу, достаточно зловредную и ненужную (к примеру, все примеры кода будут удалены).
Поэтому хватить только htmlspecialchars с теми же параметрами, и real_escape_string нужно не всегда; к примеру, при использовании prepared-запросов, необходимость в них отпадает.
Кстати, есть технологии, когда просто идет запись в базу, а фильтрация идет уже только на выходе. Это имеет как плюсы, так и минусы, для этого погуглите что-то типа "htmlspecialchars до или после вставки"
Да у вас там около 30 файлов только одного JS грузится... Нужно читать о сжатии файлов в один файл. Ну или минимум оптимизация, чтобы файлы грузились в случае реальной необходимости, а не все подряд. Но так как скорее всего это из-за многих плагинов, тут реально даже посоветовать что-то тяжело.
therealvetalhidden: сложности в поддержке, в поиске, в соединении результатов (20 UNION'ов использовать?). Это имеет очень ограниченную сферу применения.
Можно, я ответил как ниже, просто это не очевидные костыли. Все можно, просто дополнительные проверки нужны, а лучше всего изменить саму форму, если это возможно
Владимир Шикльгрубер: проблема в том, что подобный чат будет сильно тормозить уже на небольших количествах пользователей, и работа с файлами у PHP не сильно оптимальная, как вы уже поняли. Поэтому лучше либо поискать альтернативу чату на MySQL, либо заказать его.
Вы должны понимать, что файл - это, фактически, набор байтов, и узнать количество строк в нем можно только с помощью постепенного перелистывания всего файла. Обойти это достаточно проблемно, например, создавая индексный файл, в котором будут в бинарном виде записаны положения строк в байтах для другого файла, но это называется изобретение велосипедов, имя которым - базы данных.
Владимир Шикльгрубер: поэтому для 1 млн строк нужно использовать базы данных, у которых доступ к случайной строке решен лучше, чем стандартная реализация, которая позволяет либо перейти на случайное количество байт (к примеру, можно проскочить 100000 байт, но ведь для этого нужно знать размер всех строк, неплохо было бы, если бы они все были одного размера), либо использовать SQL или noSQL решения.
egor_spk: сарказм сарказмом, но Don Kaban прав — разработчикам почти нету что делать без знания технического английского, поэтому если эта технология сильно нужна - они могут почитать сами. Есть смысл сделать обзорную статью о данном фреймворке - чем он особенный, где о нем почитать, чем он лучше конкурентов