Jump to content

Защита сайта от SQL, XSS и пр.


Recommended Posts

Здравствуйте, подскажите пжлст как защитить сайт от SQL-инъекций, XSS-атак и прочего, через .htaccess. Интересует решение не для конкретного CMS, а что-нибудь общее, универсальное, если таковое есть. В сети много инструкций, но не нашел решения, чтобы в .htaccess прописать можно было для любого сайта и чтобы эти настройки не нарушали работоспособность сайта.

Либо посоветуйте какое-нибудь решение в виде сторонних скриптов или сервисов, которые защищают от данных инъекций и атак.

Link to post
Share on other sites

Есть вопрос? Задай его профессиональным веб-мастерам, SEO и другим специалистам!

А причем тут htaccess и xss? во всех формах при любом post запросе необходимо экранировать 

 

htmlspecialchars($_POST['что принимаем'], ENT_QUOTES, 'UTF-8')

 

по поводу инъекций везде использовать pdo отказаться от процедурного стиля подключения и от mysql_query точно

проверить функции на предмет исполнимости из открытого источника. Этого вполне для начала хватит

Link to post
Share on other sites
3 часа назад, kuzovbmw сказал:

А причем тут htaccess и xss? во всех формах при любом post запросе необходимо экранировать 

 


htmlspecialchars($_POST['что принимаем'], ENT_QUOTES, 'UTF-8')

 

по поводу инъекций везде использовать pdo отказаться от процедурного стиля подключения и от mysql_query точно

проверить функции на предмет исполнимости из открытого источника. Этого вполне для начала хватит

4 часа назад, DevilStar сказал:

Прямые руки, здравый смысл, чистый код и cloudflare :)

Этого достаточно

Про пдо, прямые руки я в курсе, пдо не используется в данном скрипте, версия пхп 5.2 - меня интересует что можно добавить в .htaccess, чтобы сайту не навредить и защититься от иньекций и атак, так как в сети много пишут про варианты вставок директив разных в .htaccess для защиты от SQL, XSS  итд. и пжлст если по сути нечего ответить то не надо умные толкать речи - это не помощь. без обид.

Хостинг на макхосте. 

*примеры...

*****Защита от SQL иньекций и удаленного выполнения кода

RewriteCond %{QUERY_STRING} ^(.*)([-_a-z]{1,15})=(eval|chmod|chdir|mkdir|rmdir|whoami|uname|unzip|gunzip|grep|more|umask|telnet|ssh|ftp|which|mkmode|touch|logname|edit_file|search_text|find_text|php_eval|download_file|ftp_file_down|ftp_file_up|ftp_brute|mail_file|mysql|mysql_dump|db_query|file_get_contents)([^a-zA-Z0-9].+)*$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)(wget|shell_exec|passthru|popen|proc_open)(.*)$
RewriteRule .* - [F,L]

RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%27|%3C|%3E|%00) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*embed.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^e]*e)+mbed.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*object.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^o]*o)+bject.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*iframe.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\([^)]*\) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} ^.*(\(|\)|<|>|%3c|%3e).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\x00|\x04|\x08|\x0d|\x1b|\x3c|\x3e|\x7f).* [NC,OR]
RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [NC,OR]
RewriteCond %{QUERY_STRING} concat[^\(]*\( [NC,OR]
RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} \-[sdcr].*(allow_url_include|allow_url_fopen|safe_mode|disable_functions|auto_prepend_file) [NC,OR]
RewriteCond %{QUERY_STRING} (;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC,OR]
RewriteCond %{QUERY_STRING} (sp_executesql) [NC]
RewriteRule .* - [F,L] 

-------------------------------

*****Защита от XSS

# Blocks some XSS attacks
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F,L]
</IfModule>

*вот что то в этом роде меня интересует...

Link to post
Share on other sites
  • VIP

<IfModule mod_headers.c>
  Header always append X-Frame-Options SAMEORIGIN
</IfModule>

<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>

<files .htaccess>
order allow,deny
deny from all
</files>

SetEnvIf user-agent "Indy Library" stayout=1
SetEnvIf user-agent "libwww-perl" stayout=1
SetEnvIf user-agent "Wget" stayout=1
deny from env=stayout

Link to post
Share on other sites
23 минуты назад, vituson сказал:

<IfModule mod_headers.c>
  Header always append X-Frame-Options SAMEORIGIN
</IfModule>

<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>

<files .htaccess>
order allow,deny
deny from all
</files>

SetEnvIf user-agent "Indy Library" stayout=1
SetEnvIf user-agent "libwww-perl" stayout=1
SetEnvIf user-agent "Wget" stayout=1
deny from env=stayout

пояснения что к чему и за что отвечает - не помешало бы

Link to post
Share on other sites

Вы шутите ? 5.2 php в 2021 году??? Версии ниже 5.3 вообще запрещено использовать, очень много уязвимостей и проблем, к тому же скорость низкая, делайте переезд на версии 5.3 и выше, в идеале 7, ну перепишите функции, циклы, массивы в некоторых местах, в htaccess не защититься от xss и иньекций, это еще одна мера, но основной упор делать на принимаемые данные из форм, экранирование, pdo и работа с файлами если они есть, тип, размер, кодировка и тп..

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...