Здравейте, гледайки Noob-ските теми преди мен,
реших да ви светна как да си настроите Защитата на Web Сървъра.
Нека започнем с php.ini Фаила.
При правилно конфигуриране може да си спестите 90% от писане на PHP скриптове, които да ви правят защита.
Отваряте php.ini с Notepad/Wordpad/Notepad++/Dreamweaver ect...
И конфигурирате следните неща по този начин:
1.
Можете да включите даден файл от вашия собствен сайт, но не и от друг сървър (блокира http// and https//) . Ето един пример как да конвертирате URL включват към този, който не използва URL:
Това ще го забрани и ще изкара грешка
Това ще го include
Така ако някой е решил да ви вкарва някакви скриптчета от неговия
Сайт, няма да успее.
2.
Така кофигорирайки тези неща, няма да се показват грешки от php.
А ще се записват в даден текстов файл. Така като не се показват
грешки във вашата страница, можете да прикриете много лесно от къде
можете да бъдете атакувани лесно и в същото време ще се записват и вие ще може да прегледате вашия лог файл.
П.с. Във папката с файла errors.txt направете един файл .htaccess
Със съдържание:
3.
Това ще прикрие коя версия на php ползвате.
4.
PHP препоръчват това да е изключено, за да може да се справяте с защитата на "magic_quotes", но тъй като не знаете как да ги използвате. Най-добре е да са включени.
ТОва е опция на magic_quotes, най-добре го изключете.
5.
Това е едно от най-важните неща които трябва да конфигорирате.
Вероятно сте виждали скрипт като този:
през вашия скрипт с неговата стойност. Така могат да зададат
каквато си искат стойност чрез "somevalue".
Затова е много важно:
6.
Тази опция не е за препоръчване в php.ini. Даже много съм се чудил как да я настроя. Тя разширява ограниченията на някой скриптове и може
да ви даде грешка. Немога да кажа, че защитава нещо, така че
препоръчвам да е изключена. Не е голямо значение дали ще е включена или изкючена, ноо знам че в PHP 6, дори няма да съществува.
7.
Това не е много задължително, но за да сте 100% сигурни, премахнете по опасните функции за вас.
Е вече конфигорирахме нашия php.ini файл.
8.
Много скриптове пробвах, но най сигурния вариант срещу XSS и SQL Injection е ето тази функция, която видях в сайта на PHP ии я попромених малко:
Това го слагате най-горе в index.php сте готови.
Ето как да я използвате:
Винаги когато правите някаква заяфка към дата базата
Използвайте функцията за да защитите променливата.
Това е абсолютно всичко, което ви трябва при защитата на вашия сайт
за MuOnline.
Не ви трябват други объркващи скриптове и т.н.
И помнете, не е хубаво да наблъскате 100 функции за защита,
защото те може една друга да се объркат. Колкото по-малко, толкова по-добре.
Надявам се този урок да е бил полезен и един път завинаги, неграмотниците да спрат да пускат теми с Web Secure и да слагат
в тях абсолютно излишни скриптове.
Темата е правена лично от мен. Моля ако имам правописни грешки да ме извините, всеки греши. И Бих бил благодарен, ако уважавате труда ми и не я копирате в други форуми.
УСПЕХ
реших да ви светна как да си настроите Защитата на Web Сървъра.
Нека започнем с php.ini Фаила.
При правилно конфигуриране може да си спестите 90% от писане на PHP скриптове, които да ви правят защита.
Отваряте php.ini с Notepad/Wordpad/Notepad++/Dreamweaver ect...
И конфигурирате следните неща по този начин:
1.
Code:
allow_url_include = Off
Това ще го забрани и ще изкара грешка
Code:
include('http://yoursite.com/page.php');
Code:
include($_SERVER['DOCUMENT_ROOT'] . '/page.php');
Сайт, няма да успее.
2.
Code:
display_errors = Off
display_startup_errors = Off
log_errors = On
error_reporting = E_ALL
error_log = /home/[COLOR="Red"]yourUserID[/COLOR]/public_html/errors.txt
А ще се записват в даден текстов файл. Така като не се показват
грешки във вашата страница, можете да прикриете много лесно от къде
можете да бъдете атакувани лесно и в същото време ще се записват и вие ще може да прегледате вашия лог файл.
П.с. Във папката с файла errors.txt направете един файл .htaccess
Със съдържание:
Code:
order allow,deny
deny from all
3.
Това не е толкова важно, но не боли ако го сложите.expose_php = Off
Това ще прикрие коя версия на php ползвате.
4.
Code:
magic_quotes_gpc = On
Code:
magic_quotes_sybase = Off
5.
Code:
register_globals = Off
Вероятно сте виждали скрипт като този:
Когато register_globals = On, то somevalue може да премине
през вашия скрипт с неговата стойност. Така могат да зададат
каквато си искат стойност чрез "somevalue".
Затова е много важно:
Code:
register_globals = Off
6.
Code:
safe_mode = Off
да ви даде грешка. Немога да кажа, че защитава нещо, така че
препоръчвам да е изключена. Не е голямо значение дали ще е включена или изкючена, ноо знам че в PHP 6, дори няма да съществува.
7.
Code:
disable_functions = dl,show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, curl_exec, curl_multi_exec, parse_ini_file, proc_close, highlight_file, pcntl_exec, apache_note, apache_setenv, closelog, debugger_off, debugger_on, define_syslog_variables, escapeshellarg, escapeshellcmd, ini_restore, openlog, pclose, pcntl_exec, proc_get_status, proc_nice, proc_terminate, syslog, system,url_exec
Е вече конфигорирахме нашия php.ini файл.
8.
Много скриптове пробвах, но най сигурния вариант срещу XSS и SQL Injection е ето тази функция, която видях в сайта на PHP ии я попромених малко:
Code:
function protect($val) {
$val = addslashes($val);
$val = htmlspecialchars($val, ENT_NOQUOTES);
return $val;
}
foreach($_GET as $key => $val) { $_GET[$key] = protect($val); }
foreach($_POST as $key => $val) { $_POST[$key] = protect($val); }
foreach($_COOKIE as $key => $val) { $_COOKIE[$key] = protect($val); }
foreach($_SESSION as $key => $val) { $_SESSION[$key] = protect($val); }
Ето как да я използвате:
Code:
mssql_query("SELECT * FROM MEMB_INFO WHERE memb___id ='".protect($_POST['UserName'])."'");
Използвайте функцията за да защитите променливата.
Това е абсолютно всичко, което ви трябва при защитата на вашия сайт
за MuOnline.
Не ви трябват други объркващи скриптове и т.н.
И помнете, не е хубаво да наблъскате 100 функции за защита,
защото те може една друга да се объркат. Колкото по-малко, толкова по-добре.
Надявам се този урок да е бил полезен и един път завинаги, неграмотниците да спрат да пускат теми с Web Secure и да слагат
в тях абсолютно излишни скриптове.
Темата е правена лично от мен. Моля ако имам правописни грешки да ме извините, всеки греши. И Бих бил благодарен, ако уважавате труда ми и не я копирате в други форуми.
УСПЕХ
Last edited: