ჰაკერების ხშირი შეტევები ამტკიცებს, რომ ინტერნეტის უსაფრთხოება რჩება ყველაზე მნიშვნელოვან საკითხს ინტერნეტში ბიზნესის წარმოებისთვის. სერვერები ყველაზე ხშირად ამ შეტევების სამიზნეები არიან, მათ მიერ შენახული ინფორმაციის გამო. ამიტომ აუცილებელია სერვერის საიმედო დაცვა.
PHP– ის უზრუნველყოფა Apache– ზე
დაიწყეთ "phpinfo ()" პროტოკოლი და შეამოწმეთ ხაზი "open_basedir" ბრძანებით. ამ ბრძანებით შეგიძლიათ განსაზღვროთ საბაზისო დირექტორია ყველა მომხმარებლისთვის. ამ მნიშვნელობის დაყენების შემდეგ, ისინი ვეღარ შეძლებენ ფაილების გახსნას ამ ძირეული საქაღალდის ან მისი ქვე დირექტორიების გარეთ, როგორიცაა "C: / Windows".
თუ თქვენ გაქვთ სხვა სტრუქტურული დირექტორიები, განსაზღვრეთ ისინი, როგორც ბაზის დირექტორია, ბრძანებით "www_root". ამასთან, ერთ მომხმარებელს ასევე შეეძლება სხვა მომხმარებლის ფაილების წაკითხვა და შეცვლა. ეს თავიდან უნდა იქნას აცილებული.
სამწუხაროდ, php.ini ფაილში არ არსებობს პარამეტრები, რომ ხელი შეუშალოს ერთ მომხმარებელს სხვისი მონაცემების წვდომისგან.
მაგრამ არსებობს ერთი საინტერესო გზა, თუ PHP მუშაობს Apache– ზე. Phpinfo () -ში ნახავთ ორ სვეტს: პირველადი მნიშვნელობა და ადგილობრივი მნიშვნელობა. პირველი არის მნიშვნელობა "php.ini" - ში. მეორე არის მნიშვნელობა, რომელიც განისაზღვრება სერვერის გაშვების დროს.
თუ ძირითადი მნიშვნელობა მცირეა ციფრული თვალსაზრისით, მაშინ მისი შეცვლა შესაძლებელია სკრიპტში ბრძანების გამოყენებით "ini_set ()". ეს არ ეხება "open_basedir" - ს, რადგან ეს მნიშვნელობა უსაფრთხოების კრიტიკულია და მისი შეცვლა მხოლოდ ადმინისტრატორს შეუძლია.
Apache– ში, კონფიგურაციის ფაილი "httpd.conf" შეიძლება მითითებული იქნას სახელმძღვანელოში ადგილობრივი მნიშვნელობით "open_basedir".
სხვა PHP პარამეტრები
"გამორთვა_ფუნქციების" დაყენებით "php.ini" ფაილში, თქვენ უნდა გამორთოთ პოტენციურად საშიში ფუნქციები.
ყურადღებით იფიქრეთ თითოეულ ქმედებაზე. ფუნქციის გამორთვა ნიშნავს, რომ ზოგიერთი სკრიპტი შეჩერდება.
ზოგიერთი ფუნქცია მართლაც საშიშია და ჩვეულებრივ არ არის საჭირო სკრიფტებისთვის. სხვა შეიძლება იყოს საჭირო კონკრეტული მიზნებისთვის. ამიტომ, ადვილი არ არის გამორთოთ ყველა ფუნქცია, რომელიც შეიძლება საშიში იყოს, მაგრამ ასევე ყურადღებით შეაფასოთ თქვენი გადაწყვეტილებები.
არ დაიჯეროთ, რომ მხოლოდ "safe_mode = On" ფუნქცია საკმარისი იქნება. მან შეიძლება გათიშოს რამდენიმე სასარგებლო ფუნქცია და ვერ გადაჭრას ზემოთ აღწერილი უსაფრთხოების პრობლემა. უსაფრთხო რეჟიმი მოძველებულია PHP 5.3.0 – ში და წაიშლება PHP 6.0.0 – ში.
დაცვის საკითხები
რამდენიმე შეცდომა შეიძლება შეიტანოს ვებ – შემქმნელმა და გახადოს ვებ – გვერდი დაუცველი.
მაგალითად, თუ თქვენ შექმნით თქვენს ბლოგს და საშუალებას აძლევთ მომხმარებლებს ატვირთონ სურათები, ეს შეიძლება სერიოზულ საფრთხეს წარმოადგენს, როდესაც კოდი დაწერილია დამწყებთათვის. რამდენიმე შეცდომაა, რაც პროგრამისტს შეუძლია დაუშვას შესვლის გვერდზე და ა.შ. ერთ-ერთი ყველაზე გავრცელებულია მავნე ალგორითმების ჩამოტვირთვის აკრძალვის არარსებობა.
მნიშვნელოვანი ის არის, რომ საზოგადოებრივი ჰოსტინგის ერთი დაუცველი საიტი საფრთხეს წარმოადგენს მთელი სერვერისთვის. ასევე Open Source პროექტების ინსტალაცია, როგორიცაა PHP-Nuke, შეიძლება სარისკო იყოს. მსგავსი პროექტების რამდენიმე მოწყვლადობა უკვე აღმოჩენილია.