archux Posted January 15, 2008 Report Share Posted January 15, 2008 Radies jautājums par labas aizsardzibas izveidošanu mājas lapai! Kādi būtu tādi galvenie punkti kurus vajadzētu ievērot! Quote Link to comment Share on other sites More sharing options...
andrisp Posted January 15, 2008 Report Share Posted January 15, 2008 Validē ienākošos datus (is_numeric() un līdzīgas). Eskeipo izejošos datus (gan izdrukājot HTML - htmlspecialchars(), gan iekļaujot datus SQL kverijā - mysql_real_escape_string()). Quote Link to comment Share on other sites More sharing options...
martins256 Posted January 15, 2008 Report Share Posted January 15, 2008 nedari šitā: if(isset($_GET['lapa'])) include($_GET['lapa'].'.php'); ja taisi kkādu failu uploadošanu, tad kārtīgi tos pārbaudi! Quote Link to comment Share on other sites More sharing options...
archux Posted January 15, 2008 Author Report Share Posted January 15, 2008 hmm apmēram sapratu, a piemēram tas ka config.php novieto pirms reālās www direktorijas tas arī daudz ko dod vai nē?? Quote Link to comment Share on other sites More sharing options...
andrisp Posted January 15, 2008 Report Share Posted January 15, 2008 Nu teorētiski tā ir drošāk, bet uz to nebūtu jākoncentrējas. Quote Link to comment Share on other sites More sharing options...
archux Posted January 15, 2008 Author Report Share Posted January 15, 2008 (edited) Hmm, tas nozīmē ka tagad pie katras vietas kur pievienot komentāru, jāuzliek tā lai nemaz nedomā neko nokopēt! ā un vēl jautājums kā uzlikt lielāku aizsardzību uz failiem, piemēram ar flešpayeri ir dziesma atverama, bet vajag tā, lai nevar notielēt, kas par faila nosaukumu un, lai to nebūtu iespējams lejuplādēt! + jautājums Vai arīt atkarīga lapas drošība uz kāda servera stāv lapa (linux/win)??? Edited January 15, 2008 by archux Quote Link to comment Share on other sites More sharing options...
martins256 Posted January 15, 2008 Report Share Posted January 15, 2008 cik zinu, tad win serveriem bieži nav sakonfigurēts tā, ka lietotājs var bakstīties pa failiem savā mapē. Piem., ja uzliec kādu shell, tad ar to var aizstaigāt līdz ../../../../sveša web lapa Quote Link to comment Share on other sites More sharing options...
archux Posted January 15, 2008 Author Report Share Posted January 15, 2008 hmm, taa tads nozīme to, drosāk būs pirmkārt nomainīt serveri, un otrkārt includes un vēl šādus tādus failus salikt ārpus www (root) direktorijas, lai tie būtu daudzkārtīgāk pasargāti! Vai sapratu pareizi??? Quote Link to comment Share on other sites More sharing options...
martins256 Posted January 15, 2008 Report Share Posted January 15, 2008 (edited) nu tajā gadījumā, ko es minēju izņemšana no root nepalīdzēs. Bet tā nav, ka win zemē metams. Paņem un pārbaudi pats - uztaisi savu skriptu, kas lasa folderu saturu vai uzliec kādu shell. Edited January 15, 2008 by martins256 Quote Link to comment Share on other sites More sharing options...
DMG Posted January 15, 2008 Report Share Posted January 15, 2008 (edited) Man arī ir kāds jautājums par šo tēmu! Vai ir iespējams kaut kādi apiet JavaScript ? Nu piemēram ir lapa, kur reģistrēties un es ar JavaScript pārbaudu, lai lauciņu vērtības nesaturētu nekādus "nelāgus" simbolus, tad tas ir viss un tālāk šīs vērtības varu nepārbaudīt izvadot vai tomēr šo Java Script var apiet? Edited January 15, 2008 by DMG Quote Link to comment Share on other sites More sharing options...
andrisp Posted January 15, 2008 Report Share Posted January 15, 2008 Javascript var pavisam vienkārši izslēgt. Tādas pārbaudes ir jāveic servera pusē, un tikai tur. Quote Link to comment Share on other sites More sharing options...
Val Posted January 15, 2008 Report Share Posted January 15, 2008 php galā tāpat jāpārbauda Quote Link to comment Share on other sites More sharing options...
mounkuls Posted January 15, 2008 Report Share Posted January 15, 2008 if(isset($_GET['lapa'])) include($_GET['lapa'].'.php'); Nu johaidi, ko tadu jau nu domadams nesadomasi:) Bet nu ja, visu parbaudi servera puse php noteikti. Javascript ir klienta puse,to var elementari apjat apskatot source. Ja var lietot integer, dari to, vieglak kontrolet. Vispar jebkurus lietotaja ievaditus datu ir japarbauda obligati. Faila liekas ka ir ok, bet nav problema sataisit post formu ar ko iesutit visu apejot visadas javascript kontroles. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted January 16, 2008 Report Share Posted January 16, 2008 Dažas lietas "in no particular order". * Datu filtrācija klienta pusē ir tikai un vienīgi klienta ērtībai un interfeisa izveidošanai. Reālā pārbaude obligāti jāveic servera pusē. * Vienmēr izstrādes laikā darbojies ar error_reporting(E_ALL). * Centies padošanai izmantot veselus skaitļus, jo tos visvienkāršāk ir pārbaudīt. * Nekad nepadod no klienta iekļaujamos dokumentus šitā nē: $lapa = $_GET['lapa']; include($lapa); šitā jā: $lapa = $_GET['lapa']; switch $lapa { case 'ievads': include('ievads.php'); break; case 'izvads': include('izvads.php'); break; default: include('notfound.php'); } * Ja izmanto sesijas, tad vienmēr lietotājam mainot statusu (ielogojoties, izlogojoties, ieejot augstākā/zemākā privilēģijā, izejot no augstākas/zemākas privilēģijas) pārģenerē sesijas identifikatoru. * Stingri seko līdzi, kādi parametri var tikt padoti konkrētajai lapai un pārtrauc izpildi, ja tiek padoti nekorekti dati. Necenties attīrīt tādus datus, kuriem nav jābūt netīriem pēc būtības (piemēram, tev padod nevis ciparisku lapas id, bet gan kaut kādu burtu kombināciju ar skaitli priekšā.) * datu saņemšanai izmanto tikai $_GET, $_POST, $_REQUEST masīvus. Nekad neizmanto register globals. * ja vajag tikai nolasīt no datubāzes, tad izmanto tādu lietotāju, kam ir tiesības tikai lasīt. Ja ir iespēja, tad veido procedūras datubāzē datu iegūšanai un nedarbojies pa tiešo ar tabulām bet, kur iespēja tikai ar skatiem (view). * noskaidro cik viegli/grūti ir tikt pie taviem php failiem no blakus projekta. Un vēl ļoti daudz un dikti. Quote Link to comment Share on other sites More sharing options...
fest Posted January 19, 2008 Report Share Posted January 19, 2008 Silti iesaku grāmatu OReilly.Essential.PHP.Security.Oct.2005 Grāmata ļoti plāna (ap 120 lpp) taču ļoti noderīga iesācējiem. Viss vienkārši paskaidrots un apskatīti reāli koda piemēri. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.