Rozdiely
Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.
| — |
howtos:personal-web [2013/09/07 14:23] (aktuálne) |
||
|---|---|---|---|
| Riadok 1: | Riadok 1: | ||
| + | ====== Osobné www stránky ====== | ||
| + | |||
| + | Každý používateľ si môže vytvoriť osobné stránky, ktoré budú dostupné na adrese | ||
| + | http://www.st.fmph.uniba.sk/~login | ||
| + | |||
| + | V podstate stačí umiestniť obsah stránok do adresára **~/public_html** | ||
| + | (adresár public_html vo svojom domovskom adresári) | ||
| + | a zabezpečiť aby boli prístupné na čítanie pre každého. | ||
| + | |||
| + | Domovské adresáre sa nachádzajú na serveri **davinci.fmph.uniba.sk** | ||
| + | a sú prístupné prostredníctvom protokolov **scp/sftp**, cez [[https://www.st.fmph.uniba.sk/horde3|web]] | ||
| + | a v prostredí Windows vo verejných učebniach H3, H6, F1-248, M217 cez zdielaný disk **H:**. | ||
| + | |||
| + | Pri prístupe cez web alebo zdielaný disk nemá užívateľ priamo pod kontrolou | ||
| + | prístupové práva systému linux, je preto nevyhnutné po každej zmene obsahu adresára | ||
| + | **public_html** zabezpečíť aby tento obsah bol prístupný na čítanie pre každého. | ||
| + | |||
| + | Toto nastavenie je možné zmeniť po prihlásení sa cez **ssh** (napríklad cez program PuTTY) príkazom | ||
| + | |||
| + | chmod -R a+rX ~/public_html | ||
| + | |||
| + | Prípadne môžete využiť predvyrobený script **nastav_web** | ||
| + | Tento script taktiež vyrobí podadresár **public_html** pokiaľ neexistuje, | ||
| + | pridá potrebné práva na čítanie a, v prípade podporovaných skriptov (cgi, pl, php), | ||
| + | pridá práva na spúšťanie a odoberie ostatným pravo na zmenu a zápis do týchto súborov. | ||
| + | **V OSTATNYCH PRÍPADOCH SKRIPT NADBYTOČNÉ PRÁVA NEODOBERÁ.** | ||
| + | Tento skript je vhodné spúšťať po každej úprave obsahu. | ||
| + | |||
| + | == Postup s využitím scriptu nastav_web == | ||
| + | |||
| + | * spustíme program PuTTY (v PC učebni Start menu - Aplications - Networks - PuTTY SSH) | ||
| + | * prihlásime sa na server **davinci.fmph.uniba.sk** | ||
| + | |||
| + | {{howtos:putty1.png|Obr. 1: Spúšťanie putty a výber servera}} | ||
| + | |||
| + | - zadáme svoje prihlasovacie meno | ||
| + | - zadáme svoje heslo | ||
| + | - zadáme príkaz **nastav_web** | ||
| + | - stránku si pozrieme na zobrazenej adrese | ||
| + | - odhlásime sa prikazom **logout** | ||
| + | |||
| + | {{howtos:putty2.png|Obr. 2: Prihlasovanie sa na server a spúšťanie skriptu nastav_web}} | ||
| + | |||
| + | ===== Používanie PHP, PERL-u a CGI ===== | ||
| + | |||
| + | Je povolené používanie PHP, PERL a CGI skriptov, s určitými obmedzeniami. | ||
| + | |||
| + | Plati pri tom, že všetky skripty sa spúšťajú s právami ich vlastníka, | ||
| + | dávajte si preto dobrý pozor aby boli napísané korektne - ohrozujete najmä svoje vlastné dáta. | ||
| + | |||
| + | **V prípade, že nekorektný skript umožní útok na server, vyhradzujeme si právo zablokovať stránky, | ||
| + | alebo aj účet daného používateľa. Ste zodpovední za svoje konto, neotvárajte ho zbytočne zle napísaným skriptom.** | ||
| + | |||
| + | Nezabudnite kontrolovať všetky vstupy, či sú platné a či neobsahujú nebezpečné escape sekvencie, | ||
| + | alebo iný zákerný kód. Nedávajte na svoje stránky kód, ktorý nepoznáte a nepreverili ste ho. **Je to na Vašu zodpovednosť.** | ||
| + | |||
| + | Skontrolujte si, či do súborov nemá právo zapisovať aj skupina. prípadne všetci, | ||
| + | v takom prípade server skript z bezpečnostných dôvodov nespustí. | ||
| + | Práva môžete upraviť buď ručne, alebo pomocou skriptu nastav_web. | ||
| + | |||
| + | Pre použitie platia nasledovné pravidlá: | ||
| + | |||
| + | * súbory s koncovkou .php budú interpretované defaultným PHP interpreterom (teraz PHPv4, ale môže sa zmeniť bez upozornenia) | ||
| + | * súbory s koncovkou .php4 budú interpretované PHPv4 interpreterom | ||
| + | * súbory s koncovkou .php5 budú interpretované PHPv5 interpreterom | ||
| + | * súbory s koncovkou .pl budú interpretované perl interpreterom (teraz 5.8.8, ale môže sa meniť bez upozornenia) | ||
| + | * **spustiteľné** súbory s koncovkou .cgi budú spustené | ||
| + | |||
| + | ak prvý riadok **spustiteľných** .cgi súborov obsahuje iba nasledovné: | ||
| + | #!/cesta/k/interpreteru | ||
| + | bude na spustenie súboru použitý daný interpreter, takto je možné použíť iný skriptovací jazyk. | ||
| + | Príznak spustireľnosti je pri .cgi súboroch povinný, inak ich server nespustí. | ||
| + | Opäť je možné ho nastaviť ručne alebo skriptom nastav_web. | ||
| + | |||
| + | Indexy sa hľadajú v tomto poradí: index.html index.htm index.cgi index.pl index.php index.php4 index.php5 index.xhtml | ||
| + | t.j. ak existuje index.html index.php sa už nespustí. | ||
| + | |||
| + | Systém rozlišuje veľké a malé písmená v názvoch súborov. | ||
| + | |||
| + | |||
| + | ==== Zmena PHP interpretera pre .php súbory ==== | ||
| + | |||
| + | Nakoľko sa defaultný php interpreter môže v budúcnosti zmeniť odporúčam odporúčam použiť koncovku .php4 | ||
| + | pre projekty, ktoré vyžadujú php4. Keďže v budúcnosti pribudne PHP6 odporúčam používať | ||
| + | pre súcasné projekty koncovku .php5 | ||
| + | |||
| + | V prípade, že nie je možné požiť koncovku s vyznačnou verziou, možným riešením je explicitne nastaviť php | ||
| + | interpreter súbory .php. Interpreter je možné nastaviť osbitne pre každy adresár (vrátane podadresárov). | ||
| + | Vo vybranom adresári (napríklad ~/public_html) vytvorte súbor .htaccess s nasledovným obsahom | ||
| + | pre nastavenie PHP5: | ||
| + | AddHandler x-suphp-php5 .php | ||
| + | |||
| + | pre nastavenie PHP4 | ||
| + | AddHandler x-suphp-php4 .php | ||
| + | |||
| + | Nezabudnite nastaviť správne prístupové práva - čítanie a zápis pre vlastníka, iba čítanie pre skupinu a ostatných. | ||
| + | Prípadne použite skript nastav_web | ||
| + | |||
| + | ==== PHP Session ==== | ||
| + | |||
| + | Keďže z bezpečnostných dôvodov beží PHP cez suPHP (t.j. osobné skripty každého používateľa | ||
| + | bežia pod daným vlastníkom) informácie o session sú tiež uložené s prístupom povoleným | ||
| + | iba pre daného používateľa. | ||
| + | |||
| + | Ak niekto browsuje zo stránky na stránku, postupne sa spúšťa | ||
| + | session_start() s rôznymi vlastníkmi a nastane situácia, | ||
| + | ked neskôr spustený session_start nemôže čítať/prepísat/zmazať staré | ||
| + | informácie o session. | ||
| + | |||
| + | Existuje riešenie - nastaviť inú cestu na ukladanie session informácií pomocou funkcie | ||
| + | [[http://www.php.net/manual/en/function.session-save-path.php|session_save_path()]] | ||
| + | Túto funkciu je potrebné zavolať pred použitím funkcie **session_start** s cestou k adresáru, | ||
| + | v ktorom budú údaje ukladané. Adresár musí existovať a požívateľ musí mať právo na zápis. | ||
| + | Nie je vhodné použiť adresár, do ktorého môžu zapisovať všetci, inak sa problém môže naďalej prejavovať. | ||
| + | |||
| + | Ako vhodné sa javí vytvoriť si v adresári /home/php-sessions vlastný podadresár napríklad príkazom | ||
| + | mkdir /home/php-sessions/loginname | ||
| + | kde loginname je potrebné nahradiť prihlasovacím menom používateľa. | ||
| + | Nastaviť mu vhodné práva príkazom | ||
| + | chmod 600 /home/php-sessions/loginname | ||
| + | a používať ho na ukladanie informácií o sessions. Výhoda tohto nastavenia spočíva v tom, | ||
| + | že tento adresár bude automaticky čistený od nepotrebných súborov a nemusí sa o to starať používateľ. | ||