Ищу грамотного кодера
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