Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
#1 · Zasláno: 12. 5. 2013, 13:29:26
Potřeboval bych poradit kvůli zabezpečení administrátorského rozhraní ohledně toho kam ho nejlépe umístit.
Jestli je vhodnější ho umístit do domény třetího řádu: admin.mojedomena.cz nebo spíš na www.mojedomena.cz/admin123456789. Zajímalo by mě jaká je běžná praxe a co je bezpečnější.. |
||
jenikkozak Profil |
#2 · Zasláno: 12. 5. 2013, 13:46:13
Na umístění zas tak moc nezáleží. Administrátorské rozhraní by mělo být chráněno lépe než jen tajnou URL. Ta se totiž ukládá do historie prohlížeče, případně se může pomocí refereru posílat na cizí webové stránky.
|
||
Časová prodleva: 5 dní
|
|||
DarkKnight Profil |
Souhlasím s jenikkozakem, doporučil bych aby jste si pořídil MySql databázi a udělal si tabulku uzivatele a po přihlášení do webu a splnění podmínky if($opravneni = 2) se zobrazí obsah administrace...
|
||
quatzael Profil |
#4 · Zasláno: 17. 5. 2013, 22:12:13
DarkKnight:
„if($opravneni = 2)“ MySQL už samozřejmě dávno mám. Mě spíš šlo o to, jak se to běžně řeší, jaká je běžná praxe u větších projektů, kde je potřeba admin rozhraní pro pracovníky spracovávající objednávky od zákazníků. Mimochodem kdybych tam dal tu Vaši zmíněnou podmínku, tak to zpřístupním úplně všem.. |
||
Str4wberry Profil |
#5 · Zasláno: 17. 5. 2013, 22:32:21
A jde vám o podobu URL, nebo o fysické umístění skriptů administrace?
|
||
quatzael Profil |
#6 · Zasláno: 17. 5. 2013, 23:00:06
Str4wberry:
Oboje. |
||
Str4wberry Profil |
#7 · Zasláno: 17. 5. 2013, 23:18:07
Takže.
1) Subdoména přinese jistá specifika. Nepůjde normální AJAX mezi hlavní doménou a subdoménou, s cookies bude také větší legrace, ale nic neřešitelného. Jinak je to jen URL, takže celkem jedno. 2) Aplikaci je vhodné umístit mimo složku přístupnou z venčí. A potom už je to také jedno. Ad 2) Tím myslím, že veřejná složka je /www a aplikace je v /aplikace , nikoliv v /www/aplikace . V souboru /www/index.php je potom něco, co vloží aplikaci z ../aplikace/* . Proč? Pokud se to tak neudělá a na serveru se něco porouchá, může se stát, že si návštěvník bude moci procházet skripty aplikace včetně třeba přístupu do databáse.
|
||
quatzael Profil |
#8 · Zasláno: 17. 5. 2013, 23:38:11
Str4wberry:
to je pak asi lepší dávat taky mimo /www prakticky všechny includovaný soubory, ne? A to vkládání jde jen pomocí include? Není v tom nějakej další háček? |
||
Str4wberry Profil |
#9 · Zasláno: 17. 5. 2013, 23:41:59
„to je pak asi lepší dávat taky mimo /www prakticky všechny includovaný soubory, ne?“
Ano, ideálně by tam mělo být jen to, co je stejně veřejně přístupné (obrázky, CSS, JavaScript). Samotné skripty a zejména citlivé soubory s hesly je třeba schovat. „A to vkládání jde jen pomocí include? Není v tom nějakej další háček?“ Záleží, jak je aplikace napsaná. |
||
DarkKnight Profil |
#10 · Zasláno: 18. 5. 2013, 00:47:38
Je samozřejmostí, že si tam budeš muset udělat výpisy a jestli budeš chtít stupňovat oprávnění, tak si budeš jednoduše hrát s čísly ve sloupečku a budeš přidělovat podmínky v závislosti na požadavcích :)
|
||
quatzael Profil |
#11 · Zasláno: 18. 5. 2013, 11:08:19 · Upravil/a: quatzael
DarkKnight:
já jsem narážel na to, že jsi udělal chybu v podmínce, když jsi tam napsal "=".. samozřejmě s různými stupni oprávnění počítám, to pro mě není vůbec problém vyřešit.. Str4wberry: „Záleží, jak je aplikace napsaná.“ Co to znamená?? Bude fungovat běžný odkaz z index.php na includovaný script, který je mi to /www?? |
||
Luky Profil |
#12 · Zasláno: 18. 5. 2013, 12:01:26
quatzael:
Ve složkách, které nejsou z venku přístupné (v tvém případě složky mimo www) jsou většinou zakázány prohlížet (přes protokol HTTP případně HTTPS) viz htaccess. Se soubory uvnitř "nepřístupných" složek však mohou pracovat PHP scripty na úrovni aplikace (include apod.). „Bude fungovat běžný odkaz z index.php na includovaný script, který je mi to /www?“ V tomto případě by běžný odkaz určitě nefungoval. Includování však fungovat bude. Zkus se mrknout na tuto strukturu Nette |
||
Str4wberry Profil |
#13 · Zasláno: 18. 5. 2013, 15:38:22
1) Pokud je aplikace napsaná tak, že každá akce je samostatný skript, tedy např. přijde požadavek na
upravitClanek.php , bude muset nějaký skript teprve vložit tento soubor.
2) Pokud bude aplikace napsaná tak, že požadavek má přijít na index.php?akce=upravitClanek , tak se nic moc složitého měnit nemusí.
|
||
quatzael Profil |
#14 · Zasláno: 18. 5. 2013, 21:54:00 · Upravil/a: quatzael
Str4wberry:
je mi to jasný.. Str4wberry: Ale když to zkouším vtvořit na serveru novou složku mimo složku s názvem domény, tak mi to hlásí chybu. Včera když jsem ji zkoušel vytvořit tak to šlo, ale dneska tam už není.. |
||
Str4wberry Profil |
#15 · Zasláno: 18. 5. 2013, 22:08:29
Ono to na každém hostingu nebývá možné. Třeba je to i váš případ.
|
||
quatzael Profil |
#16 · Zasláno: 18. 5. 2013, 22:19:51
Str4wberry:
Používám Gigaserver.. Každopádně se by se to mělo dát vyřešit aspoň tím, že ty includovaný soubory udělám s koncovkou .inc, ne?? Spustit asi nepudou, ale číst nějakým způsobem asi jo.. |
||
Str4wberry Profil |
#17 · Zasláno: 18. 5. 2013, 22:25:15
Problém je hlavně to čtení, protože se tak dají získat ty citlivé údaje jako přihlášení do DB atd.
|
||
DarkKnight Profil |
#18 · Zasláno: 18. 5. 2013, 22:46:51 · Upravil/a: DarkKnight
quatzael:
Pravda už si to uvědomuji správně by to mělo být if($opravneni == 2) možná by pomohla změna oprávnění v dokumentech |
||
quatzael Profil |
#19 · Zasláno: 18. 5. 2013, 22:50:09 · Upravil/a: quatzael
Str4wberry:
Tak teď se mi ta složka zase objevila. Měl jsem připojenýho commandera a tam asi vznikla nějaká chyba, že mi jí nezobrazovalo a nešlo vytvořit novou složku. Zkusil jsem otevřít nový připojení a je to tam!! Total Commander mi vůbec nějak zlobí, když kopíruju soubory na server (respektive přepisuju ty, který tam už jsou) tak se mi občas stává, že se to přepíše nějak špatně nebo neúplně a script potom nefunguje.. Je zajímavý, že se mi to stávalo prakticky vždycky u souborů s javascriptem. U php ani jednou.. |
||
quatzael Profil |
#20 · Zasláno: 19. 5. 2013, 00:15:32
Str4wberry:
Ale jak tam mám na ty soubory hodit cestu? V Total Commanderu se mi zobrazuje jakoby adresář: 0:/ kde je složka s názvem mojí domény a ještě nějaký logs a tmp. Proměnná $_SERVER['DOCUMENT_ROOT'] mi vypisuje:
/var/www/web5/nazev-domeny.cz/nazev-domeny.cz když tam mám tu složku: 0:/inc/ jak se mám k ní dostat?? /var/inc/ nefunguje.. |
||
Str4wberry Profil |
#21 · Zasláno: 19. 5. 2013, 00:31:07
Z veřejného adresáře velmi jednoduše:
include "../inc/startovaciSouborAplikace.php"; |
||
quatzael Profil |
#22 · Zasláno: 19. 5. 2013, 00:55:56 · Upravil/a: quatzael
Str4wberry:
a není nějakej jednodušší způsob jak se tam přímo dostat?? Když budu v nějakých nadřazených složkách tak budu muset mít několikrát ../../../../ Nejde se tomu nějak vyhnout? Mám namysli nějakej absolutní odkaz.. |
||
Str4wberry Profil |
#23 · Zasláno: 19. 5. 2013, 08:56:05
Počkejte, proč několikrát? Soubor, kde bude tohle
include , je ten jediný PHP skript ve veřejné složce, který jen načte hlavní skript aplikace (startovaciSouborAplikace.php ). Tam už pochopitelně můžete psát normálně include "config.php" , pokud je config.php ve složce inc jako startovaciSouborAplikace.php .
|
||
quatzael Profil |
#24 · Zasláno: 19. 5. 2013, 09:12:01
Str4wberry:
Myslel jsem několikrát zasebou psát to ../ (nemám to moc hluboce rozvětvený, ale složek je tam už docela dost.. Mám tam už hodně těch souborů include, takže teď to všechno přepisovat bude docela náročný, ale co se dá dělat |
||
Str4wberry Profil |
#25 · Zasláno: 19. 5. 2013, 11:01:14
„Myslel jsem několikrát zasebou psát to ../“
Ale vždyť to bude jen v tom veřejně přístupném souboru. /nazev-domeny.cz/index.php<?php // Jediný veřejně přístupný PHP soubor, jen načte aplikaci include "../inc/startovaciSouborAplikace.php"; /nazev-domeny.cz/css/styl.css/* veřejně přístupné CSS */ /inc/startovaciSouborAplikace.php<?php include "funkce/ahoj.php"; /inc/funkce/ahoj.php<?php echo "Ahoj"; Kde vidíte „několikrát zasebou psát to ../“? |
||
quatzael Profil |
#26 · Zasláno: 19. 5. 2013, 13:40:37
Str4wberry:
Ale mě moje stránka nekončí na hlavní stránce. Mám asi 20 podsložek a v každý zní asi 4 až šest další.. Takže to budu muset přepisovat pro každou zvlášť.. Mám to nějak takhle moje-domena.cz/jedna-z-dvaceti-podslozek/jedna-z-sesti-podpodslozek/index.php |
||
Micruss Profil |
#27 · Zasláno: 20. 5. 2013, 07:35:36
Proč 20 podsložek + Dalších 4 až 6? To máš kvůli hezké URL? na to je .htaccess...
|
||
quatzael Profil |
#28 · Zasláno: 20. 5. 2013, 10:23:39
Micruss:
„To máš kvůli hezké URL?“ Jo, je to lepší pro SEO, ne? Má to svůj důvod, aby to bylo v podsložkách, protože je na tom založené celé menu na hlavní stránce.. .htaccess nepoužívám.. umí to udělat to co potřebuju nějakým lehčím způsobem?? |
||
jenikkozak Profil |
#29 · Zasláno: 20. 5. 2013, 11:53:07
quatzael:
„umí to udělat to co potřebuju nějakým lehčím způsobem??“ Jo. Za větou se píše jen jedno interpunkční znaménko. |
||
Str4wberry Profil |
#30 · Zasláno: 20. 5. 2013, 12:23:52
„.htaccess nepoužívám.. umí to udělat to co potřebuju nějakým lehčím způsobem??“
Aha, tak tady je pes zakopán. S použitím .htaccess je možné si ty adresáře jednoduše simulovat.
Jinak jak je tedy nyní aplikace řešena? Soubor moje-domena.cz/jedna-z-dvaceti-podslozek/jedna-z-sesti-podpodslozek/index.php načítá nějaké společné části z ../../neco.php atp.?
|
||
Téma pokračuje na další straně.
|
0