- 1
$this->get('begin_at') > date('Y-m-32')
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+164.1
$this->get('begin_at') > date('Y-m-32')
Так я проверяю, что еще не начался месяц даты begin_at (в формате Y-m-d)
+160.4
<?php
$ok = true;
$argsbackup = $args;
for ($i = 0, $j = count($args); $i < $j; $i++) {
$arg = array_shift($args);
$type = array_shift($signature);
switch ($type) {
case 'int':
case 'i4':
if (is_array($arg) || !is_int($arg)) {
$ok = false;
}
break;
case 'base64':
case 'string':
if (!is_string($arg)) {
$ok = false;
}
break;
case 'boolean':
if ($arg !== false && $arg !== true) {
$ok = false;
}
break;
case 'float':
case 'double':
if (!is_float($arg)) {
$ok = false;
}
break;
case 'date':
case 'dateTime.iso8601':
if (!is_a($arg, 'IXR_Date')) {
$ok = false;
}
break;
}
if (!$ok) {
return new IXR_Error(-32602, 'server error. invalid method parameters');
}
}
предыстория. IRX_Library - XML-RPC server
вот так оно проверяет параметры к функции. так жестко по массиву ходить не стоит... (((
+170.9
<?php
$mounths["January"]="01";
$mounths["February"]="02";
$mounths["March"]="03";
$mounths["April"]="04";
$mounths["May"]="05";
$mounths["June"]="06";
$mounths["July"]="07";
$mounths["August"]="08";
$mounths["September"]="09";
$mounths["October"]=10;
$mounths["November"]=11;
$mounths["December"]=12;
$m=date("F");
$d=date("d");
$Y=date("Y");
$datetime=date("Y")."-".$mounths[$m]."-".date("d")." ".date("H").":".date("i").":".date("s");
$date=date("Y")."-".$mounths[$m]."-".date("d");
?>
Ээээ, чо? Нарыл в проекте. Отпаиваюсь чаем.
+161.4
function formatDate($mysqlDate, $time = false) {
$date = "";
if (is_int($mysqlDate))
$stamp = $mysqlDate;
else
$stamp = strtotime($mysqlDate);
$date .= date("j", $stamp) . " ";
$date .= $this->months[date("n", $stamp) - 1] . " ";
$thisYear = date("Y", time());
$year = date("Y", $stamp);
if ($thisYear != $year)
$date .= ", " . date("Y", $stamp);
if ($time)
$date .= " " . date("H:i", $stamp);
if ($time) return date("d/m/Y H:i");
else return date("d/m/Y");
return $date;
}
интересен ход мыслей программиста=)
+159.7
$q = "SELECT product_id FROM jos_vm_product WHERE product_parent_id=$prodid";
$res = mysql_query($q);
if(!$res) die('Error 3: ' . mysql_error());
$td_str=' ';
$pos_atrribs=array();
$row=0;
$sort_by=0;
$subrows=0;
$show_cells=0;
while($pos=mysql_fetch_array($res))
{
$posid=$pos['product_id'];
$q1 = "SELECT attribute_value,attribute_name FROM jos_vm_product_attribute WHERE product_id=$posid ORDER BY attribute_name DESC";
$res1 = mysql_query($q1);
if(!$res1) die('Error 4: ' . mysql_error());
$col=0;
while($posattrib=mysql_fetch_array($res1))
{
if($posattrib['attribute_name']=='Код фитинга' || $posattrib['attribute_name']=='Код' || $posattrib['attribute_name']=='Кодфитинга' || $posattrib['attribute_name']=='Ordering code')
{
$sort_by=$posattrib['attribute_name'];
}
$pos_atrribs[$row][$posattrib['attribute_name']]=$posattrib['attribute_value'];
$col++;
}
$q1 = "SELECT product_in_stock FROM jos_vm_product WHERE product_id=$posid";
$res1 = mysql_query($q1);
if(!$res1) die('Error 4: ' . mysql_error());
$stock=mysql_fetch_array($res1);
$pos_atrribs[$row]['Склад']=$stock['product_in_stock'];
$q1 = "SELECT product_price FROM jos_vm_product_price WHERE product_id=$posid";
$res1 = mysql_query($q1);
if(!$res1) die('Error 4: ' . mysql_error());
$price=mysql_fetch_array($res1);
$pos_atrribs[$row]['Цена EUR']=$price['product_price'];
$pos_atrribs[$row]['posid']=$posid;
$row++;
}
function columnSort($sorted, $column) {
for ($i=0; $i < sizeof($sorted)-1; $i++)
{
for ($j=0; $j<sizeof($sorted)-1-$i; $j++)
if ($sorted[$j][$column] > $sorted[$j+1][$column])
{
$tmp = $sorted[$j];
$sorted[$j] = $sorted[$j+1];
$sorted[$j+1] = $tmp;
}
}
return $sorted;
}
$sorted = columnSort($pos_atrribs, $sort_by);
unset($pos_atrribs);
$new_attribs=array();
$num=0;
$matches=0;
for ($i=0; $i < sizeof($sorted); $i++)
{
if(substr($sorted[$i][$sort_by],-2)!='.1' && substr($sorted[$i][$sort_by],-2)!='.4')
{
$fs=(int)substr($sorted[$i][$sort_by],0,3);
$fe=(int)substr($sorted[$i][$sort_by],-3);
for ($j=0; $j<sizeof($sorted); $j++)
{
$ss=(int)substr($sorted[$j][$sort_by],0,3);
$se=(int)substr($sorted[$j][$sort_by],-3);
if ($fe==$se && $fs<$ss)
{
$new_attribs[$num]=array($sorted[$i],$sorted[$j]);
$num++;
$matches++;
}
}
}
}
Джомло проект, в ходе запросов(11-46 строки) получает 250+ запросов к БД, и время выполнения только этого куска 40+ секунд. Далее сортировка тоже не слабая.
+165
if ($check==0)
{
$query = "SELECT id, title, news, author, date FROM news ORDER BY id DESC LIMIT 10";
}else{
$query = "SELECT id, title, news, author, date FROM news ORDER BY id LIMIT 10";
}
$result = mysql_query($query,$db);
$_count=0;
while($row=mysql_fetch_array($result))
{
$_count++;
}
$result = mysql_query($query,$db);
while($row=mysql_fetch_array($result))
{
...
Считаем кол-во строк в mysql-таблице
+160
# сегодняшнее число
$date2 = date(
"d.m.Y",
mktime(0, 0, 0, date("m") , date("d"), date("Y"))
);
+181.3
$str=тут запрос и всё такое сам поймёшь Например Ник или Пароль;
$col=strlen($str);
for($i=0; $i <= $col ;$i++)
{
$d=1;
$b= substr($str,$i,$d);
$d++;
if($b == chr(92)) { exit ("Hack attemp!!!"); }
}
http://www.askdev.ru/question/1427/Как-защититься-от-sql-инъекций/#answer2891
+157.2
public function is_image($mime) {
//Функция проверяет по mime типу является ли поступивший файл изображением
$images_mime = array('image/jpeg','image/pjpeg','image/png','image/cgm','image/fits','image/g3fax',
'image/gif','image/ief','image/jp2','image/jpm','image/jpx','image/naplps',
'image/prs.btif','image/prs.pti','image/t38','image/tiff','image/tiff-fx',
'image/vnd.adobe.photoshop','image/vnd.cns.inf2','image/vnd.djvu','image/vnd.dwg',
'image/vnd.dxf','image/vnd.fastbidsheet','image/vnd.fpx','image/vnd.fst',
'image/vnd.fujixerox.edmics-mmr','image/vnd.fujixerox.edmics-rlc','image/vnd.globalgraphics.pgb',
'image/vnd.microsoft.icon','image/vnd.mix','image/vnd.ms-modi','image/vnd.net-fpx',
'image/vnd.sealed.png','image/vnd.sealedmedia.softseal.gif','image/vnd.sealedmedia.softseal.jpg',
'image/vnd.svf','image/vnd.wap.wbmp','image/vnd.xiff');
if(!in_array($mime,$images_mime)) {
//Не было найдено совпадений mime типа - это не картинка
return false;
}
else {
//Было найдено совпадение mime типа
return true;
}
}
Кучка бредокода ради закрытия уязвимости.
+163.5
$this->query_insert($this, array('', $mode, '', '',$id_group_new, $id_subgroup, $id_product,
'', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', ''));
Вышел на этот кусок гкода с ошибки о неверном количестве значений в sql insert, не удивился :)