Личен блог на Михаил Пелтеков
Posts tagged Linux
PHP, Suhosin и e107 CMS…
юли 26th
Тези дни реших да си поиграя със сигурността при php. След като php-то не поддържа disable_functions за всеки виртуален хост, трябваше да се намери алтернатива … И аз избрах тя да е Suhosin. След като пачнах, php-то … компилирах suhosin.so … И включих модула …
До тук всичко добре … Но като се опитах да заредя сайт, ползващ e107 CMS … Стана интересно :) В лога започнах да се появяват много функции, които бяха забранени. Сега трябваше да вкарам всички тези функции в whitelist на този виртуален хост… Направих го … И си мислех, че всичко е наред и сайта ще си работи … Да ама не … На следващия ден ми съобщиха, че в администрационния панел липсва дясното меню … Получих достъп до админ частта … И реших да си направя експеримент. Логвам се като е включен модула менюто го няма … Изключвам модула … появява се …
Гледам логовете нищо … Прегледах малко кода на тази система, но стигнах до извода, че ще ми отнеме време за да дебъгна всичко и да разбера кое, как и защо се счупва …
И затова временно изключих модула (suhosin.so) докато тези от e107 открият проблема… Не съм им пуснал още проблема в тяхната система, но и това ще направя скоро …
Но в заключение … На НИКОИ НЕ препоръчвам тази CMS.
Ако има развитие … Ще пиша …
Slackware current updates и PHP 5.2.13
мар 3rd
[bg][/bg]Видях, че са се появили ъпдейти за slackware… Реших ъпдейтна :) Но след като ъпдейтнах имах проблеми …
А те са:
1. Липсващи symlinks … libldap-2.3.so.0 (След ъпгрейда липсва) И се наложи да направя ln -s libldap-2.4.so.2.5.4 libldap-2.3.so.0 както и ln -s liblber-2.4.so.2.5.4 liblber-2.3.so.0 . След като ги направих httpd не се оплакваше, че ги няма вече … И можех да компилирам php-то.
Но и след като пуснах make на php-то имаше проблеми с компилирането … Първия, които се появи е поради обновяването на GMP до версия 5.0.1 . Бъга е репортнат за версия 5.3.2RC1, но не го намерих за 5.2.XX
Линк към бъг PHP BUG #50990 . В моя случай реда е 1399 на php-5.2.13/ext/gmp/gmp.c , в който променяме както е описано там:
I solved replacing the outdated __GMP_BITS_PER_MP_LIMB defined constant with GMP_LIMB_BITS. The latter is present in all previous versions, and MPIR define it too.
След като оправих това продължих с make … Но тъкмо накрая се появи друг проблем .. И този пък с libpng и версия 1.4.1 … И този път отново бъга присъства в листата на версия 5.3.X, но не и в 5.2.XX
И там също ще трябва да редактираме един от файловете за да можем да компилираме php-то .
Бъга е документиран тук BUG #50734 . След като го промених както е описано там се компилира успешно. Реда е 142. на файл php-5.2.13/ext/gd/libgd/gd_png.c
Вече си имаме работещо php :)
Да но сега, трябва да оправим още един symlink ln -s libffi.so.4 libfftw3.so.3, че иначе няма да ни работи ImageMagick :)
Толкова за сега :)