Нещодавно мене відвідували помилкові повідомлення про помилки з боку mod_security. Її набори фільтрів охоплюють застарілі подвиги PHP, і я повинен переписати свої речі, оскільки Wordpress & Co мали помилки років тому.
Чи трапляється це з кимось іншим?
Apache mod_security блокує можливі небезпечні запити HTTP, перш ніж вони дістаються до програм (зокрема PHP). Він використовує різні набори фільтрів, в основному на основі регулярних виразів.
Тож у мене є хороший спільний хостинг-провайдер, технічно вподобаний і інший. Але це мене клопіло:
Лише минулого тижня мені довелося змінити ім'я параметра &src=в одному з моїх додатків, оскільки mod_security блокує будь-які запити з цим. Я не шукав його деталей, але це правило фільтра перешкоджало експлуатації іншого додатка, який я не використовую і, напевно, ніколи не чув про нього. І все-таки мені довелося переписати свій код (параметр перейменування часто буває достатньо, щоб обдурити mod_security), який не мав нічого спільного з цим!
І сьогодні нерозумні блоки зразків формують подання, тому що я хотів подати зразок коду PHP. Враховуючи, це прості речі, від яких mod_security є для захисту. Але я не вірю, що mod_security може виявити серйозно затуманений код, і просто вимикається за очевидними (і в цьому випадку абсолютно тривіальними) фрагментами php.
В основному, мене накладають покарання mod_security, оскільки інші люди випустили програми, схильні до помилок. (Не кажучи про те, що мої програми є надзвичайно безпечними - я дуже обережно
ставлюсь до безпеки, але не пред’являйте жодних гіперболічних претензій.) Я вже просив свого провайдера відключити його у будь-якому випадку, переваги - занадто мізерний IMO і для моїх додатків.
Як ти гадаєш? Чи має mod_security багато сенсу поза хостингом WP? Або це насправді лише купа чорних списків давно минулих помилок безпеки? Які з його правил насправді корисні? Чи еквівалентний рівень програми?
<?php doBadStuff(); ?>не виконує цю функцію. (Якщо ви не використовуєтеevalзвичайно, що все-таки є злом.)