- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
из формы приходит строка(текст) нужно удалить из нее спецсимволы
$srting = array("query","select","from","delete","insert","update",";","'",'"',"^","|","\n","\r","\p","<",">");
$result = trim(htmlspecialchars(strip_tags(str_replace($srting,"",$text))));
return $result;
}
Вот держи... Убьет всё намертво ))))))
Еще можешь создать файлик php
setlocale(LC_ALL, 'ru_RU.CP1251');
if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']!="-"){
define('USER_AGENT',$_SERVER['HTTP_USER_AGENT']);
}else{ die(); }
if($_SERVER['REQUEST_METHOD']=='TRACE'){ die('Попытка взлома!'); }
if(isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])){ die('Попытка взлома!'); }
if(!is_array($GLOBALS)){ die('Попытка взлома!'); }
$badcount = 0;
$baddata = array("UNION",
"OUTFILE",
"FROM",
"SELECT",
"WHERE",
"SHUTDOWN",
"UPDATE",
"DELETE",
"CHANGE",
"MODIFY",
"RENAME",
"RELOAD",
"ALTER",
"GRANT",
"DROP",
"INSERT",
"CONCAT",
"cmd",
"exec",
"--",
// HTML LINE
"\([^>]*\"?[^)]*\)",
"<[^>]*body*\"?[^>]*>",
"<[^>]*script*\"?[^>]*>",
"<[^>]*object*\"?[^>]*>",
"<[^>]*iframe*\"?[^>]*>",
"<[^>]*img*\"?[^>]*>",
"<[^>]*frame*\"?[^>]*>",
"<[^>]*applet*\"?[^>]*>",
"<[^>]*meta*\"?[^>]*>",
"<[^>]*style*\"?[^>]*>",
"<[^>]*form*\"?[^>]*>",
"<[^>]*div*\"?[^>]*>");
if(!isset($_REQUEST)) return;
foreach($_REQUEST as $params => $inputdata){
foreach($baddata as $badkey => $badvalue){
if(is_string($inputdata) && eregi($badvalue,$inputdata)){ $badcount=1; }
}
}
if($badcount==1){
echo "Попытка взлома!";
exit();
}
$array = array( "\x27", "\x22", "\x60", "\t",'\n','\r', '\\', "'",
"¬","#",";","~","[","]","{","}","=","+",")","(",
"*","&","^","%","$","<",">","?","!",".pl", ".php",'"' );
$_GET = str_replace($array, '', $_GET);
$_POST = str_replace($array, '', $_POST);
$_SESSION = str_replace($array, '', $_SESSION);
$_COOKIE = str_replace($array, '', $_COOKIE);
$_ENV = str_replace($array, '', $_ENV);
$_FILES = str_replace($array, '', $_FILES);
$_REQUEST = str_replace($array, '', $_REQUEST);
$_SERVER = str_replace($array, '', $_SERVER);
?>
и инклюдить его верзде, в плане безопасности, но это уже совсем жесть.
Вот держи... Убьет всё намертво ))))))
больше вреда чем пользы.
имейлы типа delete@from.ru просто пролетают.
кавычки и прочее не надо удалять, а надо правильно обрабатывать строку. всего лишь.
больше вреда чем пользы.
имейлы типа delete@from.ru просто пролетают.
кавычки и прочее не надо удалять, а надо правильно обрабатывать строку. всего лишь.
Ну в плане sql инъекция имел ввиду, а так просто внести не желательные символы в
$srting = array("");
и всё ))
ругается на функцию
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in .../classInsertTab.php on line 56
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''\hello\')' at line 1select id, city from C_City
function strip($text) {
$srting = array("query","select","from","delete","insert","update",";","'",'"',"^","|","\n","\r","\p","<",">");
$result = trim(htmlspecialchars(strip_tags(str_replace($srting,"",$text))));
return $result;
}
htmlspecialchars
(PHP 3, PHP 4)
htmlspecialchars - конвертирует специальные символы в мнемоники HTML.
Описание
string htmlspecialchars (string string [, int quote_style [, string charset]])
Некоторые символы имеют в HTML специальное значение и должны быть представлены мнемониками HTML для сохранения своего значения. Эта функция возвращает строку с выполненной конвертацией; трансляция выполняется как всегда в современном web-программировании. Если вам нужны все оттранслированные HTML-мнемоники символов, используйте htmlentities().
Эта функция используется для предотвращения ввода вместе с пользовательским текстом разметки HTML, как в досках объявлений или в приложении guest book. Необязательный второй аргумент, quote_style, сообщает функции, что делать с символами одинарных и двойных кавычек. Режим по умолчанию, ENT_COMPAT, обратно совместим только для трансляции двойных кавычек и оставляет одинарные кавычки неоттранслированными. Если установлен ENT_QUOTES, и двойные, и одинарные кавычки транслируются, а если установлен ENT_NOQUOTES - ни одинарные. ни двойные кавычки не транслируются.
Выполняются трансляции:
'&' (амперсанд) становится '&'
" (double quote) становится '"' когда ENT_NOQUOTES не установлен
' (single quote) становится ''', только когда установлен ENT_QUOTES.
< (less than) становится '<'
> (greater than) становится '>'
Пример 1. htmlspecialchars()
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
Обратите внимание, что эта функция не транслирует ничего, кроме перечисленного выше. О полной трансляции мнемоник см. htmlentities(). Поддержка второго необязательного аргумента была введена в PHP 3.0.17 и PHP 4.0.3.
Третий аргумент определяет набор символов, используемый при конвертации. По умолчанию это ISO-8859-1. Поддержка третьего аргумента была введена в PHP 4.1.0.
ругается на функцию
строку покажите, в которой ругается.
вообще достаточно mysql_real_escape_string
я уже так пробывала (текст "hella")
$cl=htmlspecialchars($val, ENT_QUOTES, 'cp1251');
записывает в базу нормально ("hello") а когда выбираю из списка это значение и вывожу его в текстовом поле то вижу \"hello\" почему видны слеши
php_flag magic_quotes_gpc off
mysql_real_escape_string тоже робывала но как сказала выше выводит со слешами
код
шаблон
<form method="post">
<select name="name_city">
{foreach from=$arrCity item=name }
<option value="{$name[1]}">{$name[1]}</option>
{/foreach}
</select>
<input type="submit" name="updCity" value="Обновить">
</form>
{$upd}
смарти файл
if(isset($_POST['updCity']))
{
$arr=$t->_getPole('city', 'C_City');
$sm->assign('arrCity', $arr);
$_SESSION['name_city']=$_POST['name_city'];
$str="<form method=post><input type='text' name='upd_c' value='".$_POST['name_city']."'>
<input type='submit' name='seveUpdcity' value='Сохранить изменения'></form>";
$sm->assign('upd', $str);
$sm->assign('tpage',$_GET['page_c14']);
}
dakota1310 добавил 10.10.2008 в 22:27
php_flag magic_quotes_gpc off
magic_quotes_gpc on добраться до файла я не могу для чего это нужно и можно ли сделать программно
для начала убедиться, что magic_quotes_runtime = "0" (!!!!!!!)
а потом:
или
все в начало скрипта
а перед вставкой в БД слешавать родным интерфейсом
а перед выводом на экран делать так:
2KosoyRoman, жесть (я про первый пост твой)
Не тупо копипастить себе, а с толком разобравшись, что все это значит