Debug::enable() rozsirenie moznosti

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Lopo
Člen | 277
+
0
-

v Debug::enable() sa da zapinanie debug modu riesit aj pomocou pola IP ktore maju mat automaticky zapnuty debug mod – celkom by bodlo mat moznost zapisovat ich v CIDR notacii, tj aj s maskami

grey
Člen | 94
+
0
-

+1

David Grudl
Nette Core | 8218
+
0
-

Tohle schválně nechci, protože tak roste riziko, že se povolí adresy které nemají.

Lopo
Člen | 277
+
0
-

tak ale to je uz problem dotycneho cloveka co to nastavuje …

v pripade potreby povolit napr 2 rozne C-ckove subnety (maska /24) je potrebne zadat pole s vyse 500 polozkami

pritom taketo nieco neni vobec nerealne vo vacsich firmach

David Grudl
Nette Core | 8218
+
0
-

Takové pole lze vytvořit jen jednou, uložit do konfigu a rozeslat všem 500 vývojářům ;-)

Lopo
Člen | 277
+
0
-

nejako nechapem … jaky konfig ? co rozoslat ?

Debug::enable() predsa nebere ziadne hodnoty zo ziadneho konfigu

proste potrebujem mat 1 server ktory bude defaultne v produkcnom mode a dane subnety budu mat ‚vynimku‘ umoznujucu debug mod

hrach
Člen | 1838
+
0
-

David: to není vůbec o počtu vývojářů, ale o počtu možných ip adres. Vývojáři mužou být dva, ale každý den s jinou adresou.

Aurielle
Člen | 1281
+
0
-

Development mód by měl jít zapínat třeba na přihlášení uživatele… nehodilo by se toto?

David Grudl
Nette Core | 8218
+
0
-

Lopo napsal(a):
Debug::enable() predsa nebere ziadne hodnoty zo ziadneho konfigu

Což nevylučuje mu předat hodnotu uloženou v nějakém (konfiguračním) soubor.

hrach napsal(a):

David: to není vůbec o počtu vývojářů, ale o počtu možných ip adres. Vývojáři mužou být dva, ale každý den s jinou adresou.

Ale já vím, proto ten smaljík. Debug nepodporuje nastavení rozsahu právě proto, aby tam někdo nedával rozsah 500 IP adres, když má dva vývojáře. Stačí mu tedy dvě adresy.

Lopo
Člen | 277
+
0
-

David Grudl napsal(a):
Debug nepodporuje nastavení rozsahu právě proto, aby tam někdo nedával rozsah 500 IP adres, když má dva vývojáře. Stačí mu tedy dvě adresy.

lenze napr. u nas vo firme mame IP adresy riesene pomocou DHCP a vacsna ludi funguje na NTB, takze nikdy neviem jaku presnu IP budem mat ja alebo hocikto iny … viem len rozsah v ktorom sa to moze pohybovat

hrach
Člen | 1838
+
0
-

David: snažil sem se vyjádřit, že nesdílím tvůj pohled. Přesně chápu problém, který má Lopo…

phx
Člen | 651
+
0
-

Si to muzete resit sami bez podpory v Debug. Proste mu hodnotu vnutite na zaklade nejakeho sveho vyhodnoceni. Osobne jsem napr uvazoval, ze bych si na produkcnich severech zapnul Debug mod pro svoji IP, ale nakonec jsem to zavrhl, protoze jsem za NAT a tak by se to zorabzovalo nejen me. Coz je nezadouci.

Jedine spolehlive reseni vidim v nejake skryte strance, ktera vam po zadani hesla nastavi neco do cookies/session nejaky priznak na zaklade cehoz bude app detekovat zda zapnout ci ne Debug mod.

na1k
Člen | 288
+
0
-

phx, taky to tak řeším… Při přihlášení do administrace se všem v roli „developer“ nastaví cookie a pak už jedou v development modu. Je to efektivní a jednoduché. Navíc to není vázané na IP a kdokoliv kdo potřebuje vidět chybu (například vyzkoušet její opakované navození) se prostě přihlásí na dev účet a testuje, třebaže na živém serveru :)

kravčo
Člen | 721
+
0
-

na1k napsal(a):

… kdokoliv kdo potřebuje vidět chybu se prostě přihlásí …

Ibaže by bola chyba v prihlasovaní :)

David Grudl
Nette Core | 8218
+
0
-

Chapu problém, který má Lopo a nesouhlasím s řešením povolit Debug „půlce republiky“, protože programátoři nemají pevnou IP. Pokud programátoři nemají pevnou IP, musím použít jinou cestu (hlavičky, cookie, přihlášení, …) Debug neumožňuje rozsahy právě proto, aby to nesvádělo k podobným řešením.

Šaman
Člen | 2659
+
0
-

V tomhle s Davidem nesouhlasím. „Nenechám vás to dělat jednoduše, protože když nevíte co děláte, tak můžete způsobit bezpečnostní díru. Dělejte to buď složitě (protože to už laik nezvládne) a pokud to neumíš, tak máš smůlu (resp. udělej to jak umíš = zapnu debug mód natvrdo pro všechny).“

Ondřej Mirtes
Člen | 1536
+
0
-

Daviduv pristup je spravny. Nejrozumnejsi je mit oddeleny testovaci a produkcni server. Testovaci zaheslujete treba pomoci .htpasswd a na produkcnim nebude treba, aby se Ladenka nekdy nekomu ukazovala.

A pokud se vam to nelibi, vzdycky si tu funkcionalitu s IP adresami muzete implementovat sami.

Šaman
Člen | 2659
+
0
-

No, mě zatím stačí implicitní autodetekce (local/ostatní).
Šlo mi spíš o princip, ale nedomyslel jsem to, omlouvám se. Vždyť si stačí napsat vlastní fci která vyhodnotí jestli se (podle IP nebo čehokoliv jiného) má zpřístupnit debug mód a použít ji jako parametr Debug::enable( myFnc() ).

Lopo
Člen | 277
+
0
-

Ondřej Mirtes napsal(a):

Daviduv pristup je spravny. Nejrozumnejsi je mit oddeleny testovaci a produkcni server. Testovaci zaheslujete treba pomoci .htpasswd a na produkcnim nebude treba, aby se Ladenka nekdy nekomu ukazovala.

A pokud se vam to nelibi, vzdycky si tu funkcionalitu s IP adresami muzete implementovat sami.

dovolim si nesuhlasit

nie vzdy je mozne mat oddelene servery (aj ked je to najlepsie)

a ano, funkcionalita sa da dorobit … ale je to uz obchadzanie roznych veci a nie je to uplne ciste riesenie, nehovoriac ze sa tym samozrejme neda dosiahnut presne ten stav ktory by sa dal v pripade implementacie tohto zlepsenia priamo do nette

mlady
Člen | 24
+
0
-

Šaman to napísal celkom presne – ak to potrebuješ stačí si

napsat vlastní fci která vyhodnotí jestli se (podle IP nebo čehokoliv jiného) má zpřístupnit debug mód a použít ji jako parametr Debug::enable( myFnc() ).

David Grudl
Nette Core | 8218
+
0
-

Lopo napsal(a):

a ano, funkcionalita sa da dorobit … ale je to uz obchadzanie roznych veci a nie je to uplne ciste riesenie

Naopak, je to zcela čisté, žádné obcházení. Pokud ti standardní chování nevyhovuje, můžeš ho snadno upravit.