HTML, Excel, Word, SEOPHP êóðñ äëÿ ÷àéíèêîâ ⇒ Áåçîïàñíîñòü

PHP äëÿ "÷àéíèêîâ"

Èíñòðóìåíòû
Âûáèðàåì IDE
Âûáèðàåì Web-ñåðâåð
Âûáèðàåì ÑÓÁÄ
Ñòðóêòóðà ÿçûêà PHP
Ïåðâûé øàã
Ñèíòàêñèñ
Òèïû äàííûõ
Ïåðåìåííûå è êîíñòàíòû
Îïåðàòîðû
Âûðàæåíèÿ
Óïðàâëÿþùèå ñòðóêòóðû
Ôóíêöèè
Êëàññû
Èñêëþ÷åíèÿ
Îøèáêè
Ìàññèâû
Ãëîáàëüíûå ìàññèâû
Cookies
Ñåññèè
Çàãðóçêà ôàéëîâ
Ðàáîòà ñ ôàéëàìè
Ðàáîòà ñ ôàéëàìè íà äèñêå
Ðàáîòà ñ äàííûìè â ôàéëå
Ïðèìåð óïðàâëåíèÿ ôàéëàìè
Ðàáîòà ñ áàçàìè äàííûõ
Ïîäêëþ÷åíèå
Àíàëèç ðåçóëüòàòîâ
Âûïîëíåíèå çàïðîñîâ
Îòêëþ÷åíèå
Ïðèìåð: îòñëåæèâàíèå ïîëüçîâàòåëåé
Ðàáîòà â ñåòè
Îòïðàâêà ïî÷òû
Áåçîïàñíîñòü
HTTP-àóòåíòèôèêàöèÿ
Çàùèòà ëîãèíîì è ïàðîëåì
Àâòîìàòèçàöèÿ
Ðåãóëÿðíûå âûðàæåíèÿ â PHP
Èíòåãðàöèÿ
PHP è JavaScript



Áåçîïàñíîñòü


Àâòîð: Àðòåìüåâ Ñåðãåé Èãîðåâè÷
ICQ: 438856621
email: _spin_@bk.ru

Áåçîïàñíîñòü - îäèí èç êëþ÷åâûõ ìîìåíòîâ, íà êîòîðûå äîëæåí â ïåðâóþ î÷åðåäü îáðàùàòü âíèìàíèå ëþáîé ðàçðàáîò÷èê. Âçëîì ñàéòîâ - ýòî àáñîëþòíî íåçàêîííîå, íî èíîãäà î÷åíü ïðèáûëüíîå çàíÿòèå, à ë¸ãêèå äåíüãè ïðèâëåêàþò êàê íà÷èíàþùèõ, òàê è îïûòíûõ "ñïåöèàëèñòîâ".


Çàùèòó ñàéòà íåîáõîäèìî âåñòè â äâóõ íàïðàâëåíèÿõ: çàùèòà êîäà è çàùèòà äàííûõ.


Çàùèòà êîäà


Ñóùåñòâóåò ìíîæåñòâî âàðèàíòîâ àòàê íà ñàéòû, íî ëüâèíàÿ äîëÿ âçëîìîâ ïðîèñõîäèò èç-çà õàëàòíîñòè àäìèíèñòðàòîðîâ è ïðîãðàììèñòîâ. Â îáðàçîâàòåëüíûõ öåëÿõ ðåêîìåíäóþ ñõîäèòü íà ïîïóëÿðíûé ñàéò "Õàêåð.ðó" è ïîñìîòðåòü íåñêîëüêî âèäåîðîëèêîâ î âçëîìå.

Âñå íàèáîëåå ïîïóëÿðíûå àòàêè ìîæíî ðàçäåëèòü íà òðè ãðóïïû: àòàêè íà ñåðâåð, àòàêè íà èíòåðïðåòàòîð è àòàêè íà ñêðèïò.

Ïðè àòàêàõ íà ñåðâåð çëîóìûøëåííèêè èñïîëüçóþò óÿçâèìîñòè â ñåðâåðíûõ ïðîãðàììàõ (íàïðèìåð, óÿçâèìîñòè âåá-ñåðâåðà èëè ïî÷òîâûõ ñëóæá). Åäèíñòâåííîå ñðåäñòâî çàùèòû îò òàêèõ àòàê - êà÷åñòâåííàÿ ðàáîòà àäìèíèñòðàòîðâ ñåðâåðà, îòñëåæèâàíèå èìè íîâîñòåé î íîâûõ óÿçâèìîñòÿõ è ñâîåâðåìåííîå îáíîâëåíèå ïðîãðàììíîãî îáåñïå÷åíèÿ. Ðàçðàáîò÷èê ñàéòà ñâîèìè ñèëàìè çàùèòèòüñÿ îò òàêèõ àòàê íå ìîæåò, ò.ê. íå èìååò äîñòàòî÷íûõ ïðàâ.

Âòîðîé òèï - àòàêè íà èíòåðïðåòàòîð, à â íàøåì ñëó÷àå - íà èíòåðïðåòàòîð PHP. Íå íåêðåò, ÷òî â ëþáîé ïðîãðàììå åñòü "äûðêè", êîòîðûìè ìîæåò ïîñïîëüçîâàòüñÿ çëîóìûøëåííèê. Ñìûñë àòàêè â òîì, ÷òîáû ïîäàòü íà âõîä èíòåðïðåòàòîðó òàêóþ ïîñëåäîâàòåëüíîñòü êîìàíä, èñïîëíèâ êîòîðóþ îí îøèáî÷íî ïðåäîñòàâèò çëîóìûøëåííèêó äîñòóï ê êàêèì-ëèáî ðåñóðñàì ñåðâåðà. Òàêàÿ ñèòàóöèÿ íàçûâàåòñÿ "ïîâûøåíèå ïðèâèëåãèé". Çàùèòà îò òàêèõ àòàê - ñâîåâðåìåííîå îáíîâëåíèå àäìèíèñòðàòîðàìè âåðñèè PHP è óñòàíîâêà ïàêåòîâ èñïðàâëåíèé. Ñî ñâîåé ñòîðîíû ðàçðàáîò÷èê äîëæåí îòñëåæèâàòü ïîÿâëÿþùèåñÿ óÿçâèìîñòè â ôóíêöèÿõ è ñîîòâåòñòâóþùèì îáðàçîì èçìåíÿòü ñêðèïòû.

Çàùèòà îò òðåòüåãî âèäà àòàê ïîëíîñòüþ ëåæèò íà ïëå÷àõ ïðîãðàììèñòà. Êàê óæå ãîâîðèëîñü, áîëüøàÿ ÷àñòü âçëîìîâ ïðîèñõîäèò èç-çà îøèáîê èëè íåäîðàáîòîê â êîäå. ×òîáû èçáåæàòü îñíîâíûõ îøèáîê, ñëåäóéòå ñëåäóþùèì ïðîñòûì ïðàâèëàì:

1. Íèêîãäà íå äîâåðÿéòå ÷óæèì äàííûì, äàæå åñëè îíè ïîëó÷åíû èç íà䏿íîãî, íî âñ¸-òàêè ñòîðîííåãî èñòî÷íèêà (íàïðèìåð, ñ ñàéòà ïàðòí¸ðà èëè îò çàðåãèñòðèðîâàííîãî ïîëüçîâàòåëÿ). Âñå äàííûå äîëæíû áûòü â îáÿçàòåëüíîì ïîðÿäêå ïåðåä èñïîëüçîâàíèåì ïðîâåðåíû íà êîððåêòíîñòü.

2. Ïîëüçóéòåñü ãîòîâûìè áèáëèîòåêàìè äîñòóïà ê áàçàì äàííûõ. Òàêèå áèáëèîòåêè îáû÷íî õîðîøî ïðîâåðåíû íà áåçîïàñíîñòü è ïîñòîÿííî ñîâåðøåíñòâóþòñÿ õîðîøèìè ñïåöèàëèñòàìè. Âàì äîñòàòî÷íî ëèøü ñëåäèòü çà îáíîâëåíèÿìè è ïîääåðæèâàòü ñâîè âåðñèè áèáëèîòåê â àêòóàëüíîì ñîñòîÿíèè.

3. Íå äîâåðÿéòå ïîëüçîâàòåëÿì äàæå â ìåëî÷àõ. Èñõîäèòå èç ïîñòóëàòà, ÷òî åñëè åñòü âîçìîæíîñòü íàâðåäèòü, òî íàéä¸òñÿ ÷åëîâåê, êîòîðûé íàâðåäèò.

4. Ñòàðàéòåñü ñàìîñòîÿòåëüíî îáðàáàòûâàòü îøèáêè è íèêîãäà íå ïîêàçûâàéòå ïîäðîáíîñòè îøèáîê ïîëüçîâàòåëÿì. Çíàíèå ïóòåé ê ôàéëàì, èì¸í áèáëèîòåê, íàçâàíèé áàç äàííûõ è òàáëèö ñèëüíî óïðîñòèò çàäà÷ó õàêåðà.

5. Âñåãäà ñòàðàéòåñü î÷èùàòü èñïîëüçóåìûå ïåðåìåííûå. Îäíà íå î÷èùåííàÿ âîâðåìÿ ïåðåìåííàÿ ìîæåò ïåðå÷åðêíóòü âñå âàøè óñèëèÿ ïî çàùèòå. Ýòî îòíîñèòñÿ è ê ïåðåìåííûì êëàññîâ. Åñëè ïåðåìåííàÿ èñïîëüçóåòñÿ òîëüêî â îäíîé ôóíêöèè - íå íàäî äåëàòü å¸ ãëîáàëüíîé èëè ïðåäñòàâëÿòü êàê îòäåëüíîå ñâîéñòâî.

6. Ñòàðàéòåñü íå õðàíèòü ïðèâàòíûå äàííûå íà ñåðâåðå, à åñëè õðàíèòü âñ¸-òàêè ïðèõîäèòñÿ - äåëàéòå ýòî â áàçå äàííûõ â çàøèôðîâàííîì âèäå. Ýòî ñèëüíî óñëîæíèò ðàáîòó õàêåðà, äàæå åñëè îí óæå çàáðàëñÿ íà âàø ñàéò.

Ñïåöèàëèñòû õîðîøî çíàþò àêñèîìó: "åñëè îäèí ÷åëîâåê ñìîã ñîçäàòü çàùèòó - íàéäåòñÿ ÷åëîâåê, êîòîðûé å¸ âçëîìàåò". Î÷åâèäíî, ÷òî èäåàëüíî çàùèù¸ííûõ ñêðèïòîâ è ñåðâåðîâ íå ñóùåñòâóåò è ðàáîòû ïî ïîâûøåíèþ áåçîïàñíîñòè äîëæíû âåñòèòü ïîñòîÿííî (ïî ìåðå îáíàðóæåíèÿ íîâûõ äûð è áàãîâ).

Çàùèòà äàííûõ

Íåîáõîäèìîñòü õðàíåíèÿ ïðèâàòíûõ äàííûõ íà ñàéòå (íàïðèìåð, áàçû êëèåíòîâ), âûíóæäàåò ðàçðàáîò÷èêîâ âñòðàèâàòü â ñàéò ñïåöèàëüíûå ñèñòåìû çàùèòû. ×àùå âñåãî èñïîëüçóþòñÿ äâà âàðèàíòà: HTTP-àóòåíòèôèêàöèÿ èëè ïàðîëüíàÿ çàùèòà.

HTTP-àóòåíòèôèêàöèÿ áîëåå íà䏿íà, íî ìåíåå óäîáíà â àäìèíèñòðèðîâàíèè. Êðîìå òîãî, ïîëüçîâàòåëü îáû÷íî íå ìîæåò ñàìîñòîÿòåëüíî çàðåãèñòðèðîâàòüñÿ - åãî äîëæåí çàðåãèñòðèðîâàòü îäèí èç àäìèíèñòðàòîðîâ èëè ìîäåðàòîðîâ ñàéòà.

Ïàðîëüíàÿ çàùèòà òðåáóåò îò ïðîãðàììèñòà áîëüøå óñèëèé ïî ðàçðàáîòêå è îòëàäêå, ÿâëÿåòñÿ ìåíåå íà䏿íîé, íî ïðè ýòîì äà¸ò áîëüøå âîçìîæíîñòåé ïîëüçîâàòåëÿì ïî óïðàâëåíèþ ñâîèì àêêàóíòîì.

Íà ñàéòàõ çà÷àñòóþ èñïîëüçóþòñÿ îáà ìåòîäà îäíîâðåìåííî: ïàðîëüíóþ çàùèòó óñòàíàâëèâàþò äëÿ îáû÷íûõ ïîëüçîâàòåëåé è HTTP-àóòåíòèôèêàöèþ äëÿ âõîäà â ðàçäåë àäìèíèñòðàòîðîâ.

Ïîñëåäîâàòåëüíîñòü îðãàíèçàöèè êàæäîãî èç óêàçàííûõ ìåòîäîâ ìû ðàññìîòðèì â ñîîòâåòñòâóþùèõ óðîêàõ ýòîãî ðàçäåëà.

 



 íà÷àëî ñòðàíèöû



 íà÷àëî ñòðàíèöû