Hibaüzenetek kiírásának tiltása

DruTa képe

Üdv!

A Drupalban a "Naplózás és hibák" részen a "Megjelenítendő hibaüzenetek" "Nincs" módban van, a cpanelben a PHP settings résznél "error_reporting: ~E_ALL" beállításon.

Ha kitörlöm az adatbázist, hogy egy régebbit tegyek vissza, ez idő alatt

Error
The website encountered an unexpected error. Please try again later.
Error message
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'domainem_mappám.semaphore' doesn't exist: SELECT expire, value FROM {semaphore} WHERE name = :name; Array ( [:name] => variable_init ) in lock_may_be_available() (line 167 of /home/domainem/public_html/mappám/includes/lock.inc).
Uncaught exception thrown in shutdown function.

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'domainem_mappám.semaphore' doesn't exist: DELETE FROM {semaphore} WHERE (value = :db_condition_placeholder_0) ; Array ( [:db_condition_placeholder_0] => 53907081456c62675ebe716.19959812 ) in lock_release_all() (line 269 of /home/domainem/public_html/mappám/includes/lock.inc).

üzenet jelenik meg a honlap helyén, ami nagyon nem jó, mert olyan infók vannak benne, amik nem tartoznak idegenekre.

Mit kéne még beállítanom, hogy ez sose jelenjen meg?

Néztem a .htaccess filet, a settings.php-t, de valójában ezek a Drupal alap file-jai, én nem nyúltam bele.

Drupal verzió: 
nevergone képe

Rejtsd el az oldalt a szolgáltatód vezérpaneljén keresztül. Esetleg tegyél a weboldalad gyökerébe egy üres index.html fájlt.
Illetve, ha nem kötelező, azért nagyon ne dobáld el az adatbázist, inkább egy tesztoldalon próbálgass és az éles oldalra csak az kerüljön ki, amit kiteszteltél.
Ami hibaüzenetet említesz, az pont azért van, mert nincs adatbázis, amihez a Drupal kapcsolódni tudna és így el sem indul. Szóval ez más, mint a fent említett beállítások.

2
0
DruTa képe

Ha egy mappát törlök, akkor Forbidden, vagy Not found üzenet van és semmi "titkos" infó, itt is azt szeretném.
XAMPP-al lassabb a dolog és sosem pont azok a beállítások, mint a tárhelyen. Még nem él az oldal, de akkor sem akarom, hogy bármi infót kiírjon. Biztos meg lehet oldani és én mindent be is állítottam, szóval szerintem alapból nem kéne kiírnia olyat, ami totál biztonsági rés lehet így, ha valaki épp olvassa.

Már nem tudom mikor, de volt olyan eset is, amikor a settings.php tartalmát dobta ki, a jelszóval együtt. Hát ez nagyon gáz.

Szerintem az kéne legyen az alapbeállításnak, hogy ilyeneket soha, soha, soha, kivéve, ha valaki külön ezt állítja be.

És ugye mi van, ha pl. majd az éles oldal esetében a tárhely sql szervere meghal, és én épp nem tudok róla, és közben meg mindenki ezeket az infókat olvassa.

Szóval ez így nagyon nem OK.

0
-2
nevergone képe

Ha mappát törölsz, az más: a PHP végzetes hibát dob és ennyi. Itt viszont a PHP lefut rendben, csak a működéshez szükséges adatbázishoz nem tud csatlakozni. Ha a settings.php tartalma megjelenik, az gáz, bár szerintem ilyen nem fordult elő: ha mégis, akkor hagyd ott azt a szolgáltatót.
Tesztoldalt kialakíthatsz a szolgáltatódnál is (gondolom engedi a több domaint). Ha szeretnéd elrejteni a fenti üzenetet, akkor tegyél be egy üres index.html-t a weblapod gyökerébe, vagy védd le addig htpasswd-del a weboldalad, esetleg az error_reporting értékével variálhatsz. Fontos, hogy ezek mindegyike független a Drupaltól.
Amúgy a fenti hibaüzenetben semmi kockázatos nincs. Az derül ki belőle, hogy Drupalt használ a weboldal, de ez hibaüzenet nélkül is megtudható, illetve a weblapod helye a tárhelyszolgáltató szerverén.

1
0
DruTa képe

Kösz, ez sokat segített, akkor ebbe az irányba indulok.

Egyébként hidd el nem mondanám, ha nem jelent volna meg az a settings.php üzenet, és már eljöttem onnan, nem ezért, de egyébként az egyik legnépszerűbb tárhely volt az is. Ha jól emlékszem akkor nem volt letiltva a Drupalon belül a hibaüzenetek kiírása, de már nem emlékszem mi váltotta ki, valahol egy levelezésben utána nézhetek, amit a szolgáltatónak írtam az ügyben.

Ami a teszt tárhelyet illeti, hát persze, hogy úgy csinálom (de nem bonyolítom aldomainnal, külön domaint meg minek vásárolnék ezért, simán egy külön mappában van, nem a főgyökérben), mivel most készül az oldal, nincs közhírré téve, csak gondolok arra az időszakra, amikor már éles, és akkor nagyon nem szeretném, ha fellépne egy ilyen dolog.

0
0
DruTa képe

Amúgy a fenti hibaüzenetben semmi kockázatos nincs. Az derül ki belőle, hogy Drupalt használ a weboldal, de ez hibaüzenet nélkül is megtudható, illetve a weblapod helye a tárhelyszolgáltató szerverén.

Sajnos nem, mert mint látható az adatbázis neve is látható, sőt, az adatbázis nevében a szolgáltatótól kapott felhasználó név is, és így a felhasználó/adatbázis/jelszó hármasból már kettő ismert, ami jelentősen megkönnyíti egy betolakodó dolgát:

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'ADATBÁZISNÉV.semaphore' doesn't exist: SELECT expire, value FROM {semaphore} WHERE name = :name; Array ( [:name] => variable_init ) in lock_may_be_available() (line 167 of /home/TÁRHELYFELHASZNÁLÓNÉV/public_html/MAPPÁM/includes/lock.inc).

0
-2
szantog képe

Megfelelő erősségű adatbázis jelszó mellett az égvilágon semmilyen könnyítést nem jelent egy támadónak a db név és home könyvtárad helyének ismerete.

4
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

szantog képe

'de nem bonyolítom aldomainnal' - ez nem bonyolítás, egy teljesen normal feljesztési folyamatelem. Nagyjából minden fejlesztés így zajlik, van egy dev, esetleg stage meg a live környezet, teljesen logikus, hogy a dev/stage az http://dev.foo.bar címen található. A dev/stage oldalakat meg többféleképp el lehet rejteni, kezdve szimpla http passwordtól akár a vpnig, még csak nem is kell egy gépen lenniük.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

DruTa képe

A tárhelyszolgáltatónál van egy adott felhasználónév és egy jelszó. Az erős jelszó nyilván jó, de mégis csak jobb, ha a felhasználó nevet sem tudják.

Ami a dev, stage, live dolgot illeti, nem teljesen értem miről van szó, de majd utánanézek. Kezdő vagyok ebben. A dev gondolom a fejlesztés alatt lévő, a stage gondolom a tesztelési időszak, a live-ot értem. :-)

Bár ha jól értem egy aldomaint jobban le lehet védeni ilyen estben, mint egy fődomain/mappába tett dolgokat?

És kicsit más téma, de ezért nem akarok új témát, mert kicsit ide vág: a fejlesztés során az ember sok modult kipróbál, sok beállítást, tesztadatokat tölt fel, stb. Jól gondolom, hogy a végén ajánlott egy szűz Drupalt feltenni és már csak a végleges modulokat telepíteni és mindent újból beállítani a véglegesnek megfelelően, mert különben szemetek, maradék beállítások maradhatnak a rendszerben? Azért is gondolom, mert mint egy másik témában írtam:

https://www.drupal.hu/forum/backup-and-migrate-visszaallitas-nem-cserel/...

egy adatbázis visszaállítás sem tiszta, ezért azóta törlöm és utána teszem vissza inkább phpMyadminból.

0
0
szantog képe

'Az erős jelszó nyilván jó, de mégis csak jobb, ha a felhasználó nevet sem tudják.' - hamis biztonságérzet, de hogy egál legyünk, ideírom az enyémet, minden tárhelyemen: szantog :) Baromira nem számít. :)

'Bár ha jól értem egy aldomaint jobban le lehet védeni ilyen estben, mint egy fődomain/mappába tett dolgokat?' - teljesen irreleváns mappa/domain. Drupal installációid van, azokat tudod védeni ilyen/olyan módon.

A többire:
A drupal8 már alapból ezen az elven működik, d7-en még mókuskázni kell vele: Először fejben válaszd szét, hogy mi a content és mi a setting. Content egy node, taxonomy term, esetleg egy custom block - bár ez utóbbi tekinthető egyfajta átmenetnek. Setting minden variable, pl site slogan, site name, node display mode-ok etc.

A lényeg, hogy minden settings kódból legyen szinkronizálva. Erre való a features és a strongarm module + esetleg néhány társa. Próbáld ki, csinálj egy szűz drupalt a http://foo.bar domainre, és a http://dev.foo.bar oldalra. Írd át a site namet a deven, exportáld kódba, majd másold be a foo.bar-ra. Na ez egy normális fejlesztői út. Legtöbb esetben semmilyen db másolgatás nem kell, nekem van olyan oldalam, hogy localhoston/deven 3 node van, az élesen meg vagy 3k.

4
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

DruTa képe

Kösz, ezt megnézem, ez jó lenne.

0
0