Osobné www stránky [daVinci]

Odkaz na tento prehľad zmien

howtos:personal-web [2013/09/07 14:23]
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ľ.
  

howtos/personal-web.txt · Posledná úprava: 2013/09/07 14:23 (externá úprava)