Ищу грамотного кодера
1.
Fanis 25.09.2009 / 16:12
Ищу грамотного кодера для проверки скриптов на уязвимости. Возможно долгосрочное сотрудничество. Главный критерий - хороший опыт и грамотность php. Сам я тоже хорошо знаю php, но в вопросах безопасности кажется оплашал. Отписываемся в теме.
2.
Александр 25.09.2009 / 17:02
В шапку
<?php
function int($no){//Для чисел
$int=(int)$no;//Это число
$int=($int<1) ? 1 : $int;//Терь это число от 1 и более
return $int;
}
function cool($x)
{
$x=mysql_escape_string($x);//т.к <-- не фильтрует
$x=str_replace('%','',$x);//Это и
$x=str_replace('-','',$x);//Это
$x=htmlspecialchars($x);//на. нам xss
$x=str_replace("\00",'',$x);//Ну и нуль байт
return $x;
}
?>
3.
Fanis 25.09.2009 / 17:48
2 не понял тебя. ты показываешь что грамотен или это уже готовое решение от "всех" бед? =)
4.
Удаленный 25.09.2009 / 19:00
Это готовое решение от почти всех бед, кроме хостингов
5.
Александр 25.09.2009 / 20:00
для ленивых
<?
function antihack(&$var){
if(is_array($var)) array_walk($var, 'antihack'); else{
$var = htmlspecialchars(stripslashes (mysql_real_escape_string($var)), ENT_QUOTES, 'UTF-8');
$var=mysql_escape_string($var);//т.к <-- не фильтрует
$var=str_replace('%','',$var);//Это и
$var=str_replace('-','',$var);//Это
$var=htmlspecialchars($var);//на. нам xss
$var=str_replace("\00",'',$var);//Ну и нуль байт
}
}
}
foreach(array('_SERVER', '_GET', '_POST', '_COOKIE', '_REQUEST') as $v){
if(!empty(${$v})) array_walk(${$v}, 'antihack');}
?> тупо копируем в шапку и больше ни чего не делаем))
6.
Александр 25.09.2009 / 20:06
ошибся
<?php
function antihack(&$var){
if(is_array($var)) array_walk($var, 'antihack'); else{
$var = htmlspecialchars(stripslashes (mysql_real_escape_string($var)), ENT_QUOTES, 'UTF-8');
$var=mysql_escape_string($var);//т.к <-- не фильтрует
$var=str_replace('%','',$var);//Это и
$var=str_replace('-','',$var);//Это
$var=htmlspecialchars($var);//на. нам xss
$var=str_replace("\00",'',$var);//Ну и нуль байт
}
}
foreach(array('_SERVER', '_GET', '_POST', '_COOKIE', '_REQUEST') as $v){
if(!empty(${$v})) array_walk(${$v}, 'antihack');}
?>
7.
Александр 25.09.2009 / 20:10
<?php
//сори ещё раз ошибся((
function antihack(&$var){
if(is_array($var)) array_walk($var, 'antihack'); else{
$var=mysql_escape_string($var);//т.к <-- не фильтрует
$var=str_replace('%','',$var);//Это и
$var=str_replace('-','',$var);//Это
$var=htmlspecialchars($var,ENT_QUOTES, 'UTF-8');//на. нам xss
$var=str_replace("\00",'',$var);//Ну и нуль байт
}
}
foreach(array('_SERVER', '_GET', '_POST', '_COOKIE', '_REQUEST') as $v){
if(!empty(${$v})) array_walk(${$v}, 'antihack');}
?>
8.
Валерий 25.09.2009 / 20:14
От какой опасности вот это защищает?
$var=str_replace('%','',$var);//Это и
$var=str_replace('-','',$var);//Это
$var=str_replace("\0 0",'',$var);//Ну и нуль байт
9.
Александр 25.09.2009 / 20:46
8, mysql_escape _string и mysql_real_ escape_string не фильтруют - и % . -тире это коментарий, пример входа без пасса SELE CT звезда FR OM 'users' where 'usr'=$user and `pass`=$pass O RDER BY `id` DES C LIMI T 1; а теперь введём user=admin и pass=1-тире поскольку -тире это коментарий запрос превратится в FROM `users` where `usr`=$user and 1 ну и всё условие верно )), теперь % к примеру на сайте есть поис , в mysql '%' это любое значение тоесть есле искать в бд с 1млн записями % нагрузка будет большая есле конечно там нет лимита тупой пример но хоть какойта)), теперь "\00" или нуль байт. ну тут премеров можно привести не один, вот к примеру функция ereg* ни чего не фильтрует после \00 считая это концом строки.
10.
Валерий 25.09.2009 / 21:05
Ну блин.. я 2 года програмлю.. учится никогда не поздно.. МузТв спасибо за инфу
11.
Валерий 25.09.2009 / 21:06
Ну блин.. я 2 года програмлю.. учится никогда не поздно.. МузТв спасибо за инфу
12.
Александр 25.09.2009 / 21:07
10, не за что обращайся есле что))
13.
Михаил 26.09.2009 / 18:57
#9, с такими запросами ни один функция не поможет, переменные нужно как минимум в кавычки брать, иначе запрос можно любой выполнить, подставив, например pass=1 or 1. Комментарий - это двойное тире, причем в том случае если тире не взяты в одинарные ковычки. А конкретно твой пример превратился бы в SELECT звезда FR OM 'users' where `usr`=admin and `pass`=1
14.
Михаил 26.09.2009 / 18:59
А % означает любой символ только если он в запросе Like
URL:
https://visavi.net/topics/829