a rossz helyen lévő htaccess lelőtte a php-t

Csete Attila képe

Sziasztok!

Az alábbi problémával találtam szemben magam.

Egy php-t használó éles honlap alkönyvtárába telepítettem a 6-os drupalt.
Fel is telepedett rendesen, de miután néhány modult felraktam - egyszer csak az egyik űrlap beküldésénél felajánlotta a php fájl-t letöltésre, majd innen kezdve az egész tárhelyen leállt a php futás, ami nagyon ciki volt, mert az éles honlap is megszűnt működni.

Megpróbáltam a fórumbejegyzések alapján megoldani a problémát. Kiderítettem, hogy a htaccess fájl-al lehet valami probléma, viszont megoldani nem tudtam.
Ami rögtön feltűnt, hogy a tárhely root könyvtárába tett egy htaccess fájlt a drupal.

Ez alapján a bejegyzés alapján próbáltam zöld ágra vergődni:
http://drupal.hu/forum/404-es-hiba%C3%BCzenet

Hiába töröltem a root-ból a htaccess fájl-t, vagy tettem fel tartalom nélkül. Nem javult meg a rendszer. (mint utólag kiderült a cache miatt nem működött nekem a dolog, mert a szolgáltató is így oldotta meg végül)

Szóval a tárhelyszolgáltató megoldotta és a következőket írta:

A hibát elhárítottuk. A hiba okai:
1. A Vezérlőpultban a "Dokumentum gyökér" mezőben szereplő érték után a motor magától hozzáfűzi a /public_html könyvtárat. Ezt nem kell külön feltüntetni.
2. A DRUPAL-SA-2006-006 biztonsági ajánlás alapján a 4.7.1-es verziótól kezdve a egy speciális .htaccess file kerül a ../sites//files könyvtárba. Az ebben szereplő direktívák tiltják a scriptek futtatását. Ez a file az Önök tárhelyének gyökerébe volt elhelyezve, így egyik php sem tudott futni.

Na most én ilyet ugye kézileg nem tettem.

Miután megjavult a dolog újra belefogtam a drupal oldal állítgatásába, és egy percen belül lelőtte ismét a php-t. Én a szolgáltató válasza után már tudván a tuti-t megnézetem a gyökér könyvtárat, de most nem volt ott olyan fájl.

Újból hívtam őket és ők azt írták, hogy volt és újból törölték. Csak én nem láttam ez alkalommal????

Az oldal megjavult ismét, de én levettem a drupalt, mert nem kísérletezhettem tovább úgy, hogy egy élő oldalt tett működésképtelenné a dolog.

Csak jómagam és mások okulására nem tudna esetleg segíteni valaki, hogy hogyan lehet ezt a dolgot elkerülni.

Mi lehetett a hiba? Miért generált a gyökérbe htaccess fájl-t a drupal?

Pontosan, hogy is lehetett ez a cache dolog, hogy én töröltem a gyökérben lévő htaccess fájl-t (meg üresen is volt fent) és nekem mégsem javult meg a dolog, csak amikor a szolgáltatónál csinálták?

Illetve másodszor én miért nem láttam azt a htaccess fájl-t, amit a gyökérbe generált a drupal?

Előre is köszi, ha valakinek van valami jó tippje.

Üdv
Attila

Drupal verzió: 
Tgr képe

Nézd meg, hogy a máshol lévő htaccess fájlokat látod-e. Vannak olyan fájlkezelők, amik alapból nem mutatják a ponttal kezdődő fájlneveket.

0
0
Csete Attila képe

Szia!

Köszi a választ. A többi .htaccess fájl-t láttam. Csak azt nem amiról azt írták második alkalommal, hogy ugyanúgy ott van. Pont ez volt az érdekes.

0
0
chx képe

Az a bizonyos .htaccess special abba a könyvtárba kerül amint a fájloknak meghatároztál. Ha ez éppen a docroot, akkor oda... ha lehet! Egész pontosan miért is tudja írni az Apache a docrootot? Ha ez tárhelyspecifikus (ie nincs külön ftp meg Apache felhasználó) akkor ideje menekülni.

0
0
Csete Attila képe

Szia!

Köszi a választ.

A fájloknak a sites/default/files hely volt meghatározva. Ugyanaz a 93kb-os htaccess fájl ott is megvolt mint amit a gyökérbe tett be.

Lehet, hogy valami olyasmit elmulasztottam, hogy meg kellett volna adnom, hogy alkönyvtárba telepítettem a drupalt, hogy mi az alapértelmezett könyvtár neki?

Attila

0
0