- 1
$where = $this->getAdapter()->quoteInto('idUser=?', (int)$this->idUser);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146.4
$where = $this->getAdapter()->quoteInto('idUser=?', (int)$this->idUser);
надёжная защита от инъекций )))
+156.2
switch ($result['state'])
{
case 'Oregon':
$row->state = 'OR';
break;
case $row->state=='Washington':
$row->state = 'WA';
break;
}
нашел у своего потрудника, долго не мог понять что второй кейс делает и как это вообще работало
+151.6
## типа база для копипаста. изначально intval отсутствовал, но не суть важно
$sqll='select tt.title as titletag, t.id_news as id, DATE_FORMAT(n_d.data, "'.DATE_FORMAT.'") as data, n.title as titlenews, n.subject from '.T_TAGS.' as tt, '.T_NEWS_TAGS.' as t, '.T_ANALIT_DATA.' as n , '.T_ANALIT.' as n_d where t.id_news=n.news_id and n.news_id=n_d.id and t.id_tags="'.intval($_GET["param2"]).'" and t.id_tags=tt.id order by n_d.data desc';
$resultt = $DB->Execute($sqll) or DB_Error(__LINE__, $sqll, $DB);
$block='main.news';
while ($roww = $resultt->FetchRow()) {
foreach ($roww as $_key=>$_value) $xtpl->assign($_key, stripslashes($_value));
$xtpl->assign('titletag', $roww['titletag']);
$xtpl->assign('title_title', $roww['titletag']);
$xtpl->parse($block.'.newstags.row');
}
## аццкий отжиг
$sqll='select tt.descr from '.T_TAGS.' as tt, '.T_NEWS_TAGS.' as t, '.T_ANALIT_DATA.' as n , '.T_ANALIT.' as n_d where t.id_news=n.news_id and n.news_id=n_d.id and t.id_tags="'.intval($_GET["param2"]).'" and t.id_tags=tt.id order by n_d.data desc';
$resultt = $DB->Execute($sqll) or DB_Error(__LINE__, $sqll, $DB);
$roww = $resultt->FetchRow();
foreach ($roww as $_key=>$_value) $xtpl->assign($_key, stripslashes($_value));
if($roww['descr']!='') $xtpl->parse($block.'.newstags.descr');
копипаст неискореним.
+143.6
<?php
try {
$mysqlhost = "localhost";
$mysqluser = "root";
$mysqlpass = "";
if ($db = mysql_connect ($mysqlhost,$mysqluser,$mysqlpass)){
echo "Successfully connected to the database.";
mysql_close ($db);
} else {
throw new exception ("Sorry, could not connect to mysql.");
}
} catch (exception $e) {
echo $e->getmessage ();
}
?>
как не надо подключаться к mysql
+186.2
$AmountOfChairs=0;
foreach($faculty['Chair'] as $currChair)
{
$AmountOfChairs++;
}
echo $AmountOfChairs;
+150.2
/**
* gets the HTTP body for the current request.
*
* @param string $soapmsg The SOAP payload
* @return string The HTTP body, which includes the SOAP payload
* @access private
*/
function getHTTPBody($soapmsg) {
return $soapmsg;
}
нашел где то в сорцах nusoap
+156.8
if (ereg("[0-9]+")) $id = (int)$_GET['id'];
elseif (ereg("[0-9\.]+")) $id = (float)$_GET['id'];
else $id = $_GET['id'];
Не то, чтоб жуткий говнокод, но как-то глуповато.
+159.2
<?php
function encrypt($str) {
$key = array();
$dst = array();
$i = 0;
$nBytes = strlen($str);
while ($i < $nBytes){
$i++;
$key[$i] = ord(substr($str, $i - 1, 1));
$dst[$i] = $key[$i];
}
$rslt = $key[1] + $key[2]*256 + $key[3]*65536 + $key[4]*16777216;
$one = $rslt * 213119 + 2529077;
$one = $one - intval($one/ 4294967296) * 4294967296;
$rslt = $key[5] + $key[6]*256 + $key[7]*65536 + $key[8]*16777216;
$two = $rslt * 213247 + 2529089;
$two = $two - intval($two/ 4294967296) * 4294967296;
$rslt = $key[9] + $key[10]*256 + $key[11]*65536 + $key[12]*16777216;
$three = $rslt * 213203 + 2529589;
$three = $three - intval($three/ 4294967296) * 4294967296;
$rslt = $key[13] + $key[14]*256 + $key[15]*65536 + $key[16]*16777216;
$four = $rslt * 213821 + 2529997;
$four = $four - intval($four/ 4294967296) * 4294967296;
$key[4] = intval($one/16777216);
$key[3] = intval(($one - $key[4] * 16777216) / 65535);
$key[2] = intval(($one - $key[4] * 16777216 - $key[3] * 65536) / 256);
$key[1] = intval(($one - $key[4] * 16777216 - $key[3] * 65536 - $key[2] * 256));
$key[8] = intval($two/16777216);
$key[7] = intval(($two - $key[8] * 16777216) / 65535);
$key[6] = intval(($two - $key[8] * 16777216 - $key[7] * 65536) / 256);
$key[5] = intval(($two - $key[8] * 16777216 - $key[7] * 65536 - $key[6] * 256));
$key[12] = intval($three/16777216);
$key[11] = intval(($three - $key[12] * 16777216) / 65535);
$key[10] = intval(($three - $key[12] * 16777216 - $key[11] * 65536) / 256);
$key[9] = intval(($three - $key[12] * 16777216 - $key[11] * 65536 - $key[10] * 256));
$key[16] = intval($four/16777216);
$key[15] = intval(($four - $key[16] * 16777216) / 65535);
$key[14] = intval(($four - $key[16] * 16777216 - $key[15] * 65536) / 256);
$key[13] = intval(($four - $key[16] * 16777216 - $key[15] * 65536 - $key[14] * 256));
$dst[1] = $dst[1] ^ $key[1];
$i=1;
while ($i<16){
$i++;
$dst[$i] = $dst[$i] ^ $dst[$i-1] ^ $key[$i];
}
$i=0;
while ($i<16){
$i++;
if ($dst[$i] == 0) {
$dst[$i] = 102;
}
}
$encrypt = "0x";
$i=0;
while ($i<16){
$i++;
if ($dst[$i] < 16) {
$encrypt = $encrypt . "0" . dechex($dst[$i]);
} else {
$encrypt = $encrypt . dechex($dst[$i]);
}
}
return $encrypt;}
вот он великий генератор паролей оО
никто не подберет пароль ))))
+144
// кода не выкладываю, по соображениям безопасности
Не писаным правилом безопасности (при создание сайтов) считается, что доступ к админке в целом и конкретно к отдельным её частям должен иметь только авторизированный пользователь. На самом деле все обстоит не так, с уже известной вам горе компании (КСК), для примера привожу безобидное (дабы не пошли ломать ресурсы) пренебрежением безопасности: http://amisharin.ru/admin/ieeditor/ieeditor.php?vname=htmlcode
Как видно не авторизированный пользователь получает доступ к редактору (который, кстати, стабильно работает, только в IE6).
+171
// Сначала я увидел такой самонадеянный способ "послать нахуй все инъекции" (magic_quotes_gpc при этом вообще не проверялись :-))
# Посылаем смело нахуй все инъекции
foreach($_GET as $name => $value){
$_GET[$name] = mysql_real_escape_string($value);
}
foreach($_POST as $name => $value){
$_POST[$name] = mysql_real_escape_string($value);
}
// А потом - следующее (обратите внимание на отсутствие кавычек для GET параметров)
$result = mysql_query("SELECT * FROM ".$_GET['index_country']." WHERE id = ".$_GET['index_to_edit']);
Хочется передать автору этого креатива большое спасибо за то, что доставил мне массу лулзов при нахождении этого и других багов :-) Если народ и дальше будет думать, что этого достаточно чтобы избавиться от инъекций, я без денег точно не останусь )))))))))))