![]() |
![]() |
|
#1
|
||||
|
||||
|
Нещо много просто, но ефективно срещу SQL injection. За да може да ползвате кода, трябва да имате Apache сървър, включен mod_rewrite и естествено възможност за промяна на .htaccess. Намирате
Code:
Options +FollowSymlinks RewriteEngine On Code:
RewriteCond %{QUERY_STRING} union [NC,OR]
RewriteCond %{QUERY_STRING} select [NC,OR]
RewriteCond %{QUERY_STRING} truncate [NC,OR]
RewriteCond %{QUERY_STRING} drop [NC,OR]
RewriteCond %{QUERY_STRING} update [NC]
RewriteRule .* %{REQUEST_URI}? [R,L]
N.B.!!! Внимателно прегледайте вашите URL да не съдържат някоя от думите: union, select, truncate, drop, update, защото ще блокирате и тях!!! Тествано под Apache 1.3.XX, скоро ще тествам дали върви под двойката. Приемам всякакви забележки, които могат да доведат до подобряване на кода.
__________________
LLLL.com за $50 парчето :: Мод за пингване за phpBB - 20 лв :: Нова PPC програма :: Калкулация на цени за SEO |
|
#2
|
|||
|
|||
|
не се занимавай с глупости, има си mod_security http://www.modsecurity.org/
|
|
#3
|
||||
|
||||
|
Предполагам, че има доста хора, които не могат да го инсталират на своя хостинг, а сигурността не е глупости.
__________________
LLLL.com за $50 парчето :: Мод за пингване за phpBB - 20 лв :: Нова PPC програма :: Калкулация на цени за SEO |
|
#4
|
||||
|
||||
|
Code:
<head> ... <!--$_INPUT['data'] = addcslashes(mysql_real_escape_string($_INPUT['data'], "%_");--> </head> |
|
#5
|
||||
|
||||
|
Няма да свърши същата работа. Освен това е PHP код, а дадения от мен код е за Apache
.
__________________
LLLL.com за $50 парчето :: Мод за пингване за phpBB - 20 лв :: Нова PPC програма :: Калкулация на цени за SEO |
|
#6
|
|||
|
|||
|
predpriemach.com е прав, SQL injection е опасен само в sql заявки и точно там е мястото за неутрализирането му. За PHP, ползването на mysql_real_escape_string, върху стойности получени от 'враждебна среда' при генерирането на заявката е напълно достатъчно:
http://bg2.php.net/mysql_real_escape_string |
|
#7
|
||||
|
||||
|
OK, не споря, че PHP трябва да се пише така, че да не допуска SQL injection. Не споря за това, че има модули, които подобряват сигурността на Апачи сървър. Просто съм дал прост и лесен начин за избягване на SQL injection за хора, които няма познания по PHP или други езици, на които им вървят сайтовете, но имат Apache server.
Освен това не съм съвсем сигурен, че mysql_real_escape_string() би помогнало в случаи като този: Code:
http://www.peyron.com/release.php?id=-26+union+select+1,2,3,concat(version(),user()),database(),6,7,8/*
__________________
LLLL.com за $50 парчето :: Мод за пингване за phpBB - 20 лв :: Нова PPC програма :: Калкулация на цени за SEO |
|
#8
|
|||
|
|||
|
Ето проба на този хак с 'mysql_real_escape_string':
http://www.bulgarian-offers.com/cached_page.php?page_id=-26+union+select+1,2,3,concat(version(),user()),dat abase(),6,7,8/* резултата е следния: SELECT <колона> FROM <таблица> WHERE id = '-26 union select 1,2,3,concat(version(),user()),database(),6,7,8/*' |
|
#9
|
|||
|
|||
|
@bgkulinar хостинг без mod_security не съм ползвал никога, съмнява ме и да ползвам. То тоя мод вече си е в default инсталацията даже.
А пък mysql_real_escape_string е deprecated и от PHP6 нататък няма да я има, барабар с magic_quotes, safe_mode, register_globals и т.н. така че не разчитайте на нея. Има много по-добри решения като: htmlspecialchars (лекува и XSS) htmlentities (лекува и XSS, иска и правилен енкодинг) regular expressions (лекува и логически грешки, но трябва да се внимава. Ако се напише кадърно, ще те спаси и от XSS) addslashes (лекува само SQL Injection) strip_tags (лекува само XSS) |
|
#10
|
|||
|
|||
|
А сега пък като се замислих тия SELECT, DROP, TRUNCATE етц ми е много интересно как ще ги изпълниш, при положение, че PHP няма право да изпълнява повече от една заявка в една mysql_query() команда (именно поради тази причина). Т.е. ти филтрираш нещо, което така или иначе няма как да стане и то в ситуацията, когато си си взел некачествен хостинг с някой бастун администратор
![]() По-скоро филтрирайте за Code:
' or 1 # |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Търся PHP програмист, който има познания и в областта на .htaccess | Liddel | Пазар | 0 | 12-02-2008 10:54 AM |
| 12 съвета за защита на вашия Wordpress блог | ronson | Програмиране | 0 | 06-02-2008 01:44 PM |
| Редирект от .htaccess | nullsoft | Администриране | 4 | 10-10-2007 05:24 PM |
| Закон за защита на потребителите - протест | oggin | Бизнес в Интернет | 54 | 10-08-2007 11:25 AM |