- 1
return strtoupper(strtr($str, "йцукенгшщзхъэждлорпавыфячсмитьбюё", "ЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮЁ"));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+157.1
return strtoupper(strtr($str, "йцукенгшщзхъэждлорпавыфячсмитьбюё", "ЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮЁ"));
1C-Bitrix, вот говнищще-то!
+129.4
(string) $def == (string) $value
Видимо о том, что == сравнивает строковые представления программист не знал.
+131.3
function key_check($key) {
if ($key == '') { return ''; }
$key = preg_replace("/[^\w\xB2-\xB4\xBF-\xFF\xA5\xA8\xAA\xAF\xB8\xBA\s]/", "", $key );
if ($key =='_SERVER' OR $key =='_SESSION' OR $key =='_FILES' OR $key =='_REQUEST' OR $key =='GLOBALS') die("<h3>Error variable ".basename(__FILE__)." ".__LINE__."</h3>");
else return $key;
}
function str_check($str_val) {
if ($str_val == '') { return ''; }
if(preg_match("/<[^>]*script*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*object*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*applet*\"?[^>]*>/i", $str_val)
or preg_match("/<[^>]*form*\"?[^>]*>/i" , $str_val)
or preg_match("/&#\d+;{0,1}/i" , $str_val) ){
die("<h3>ERROR ".basename(__FILE__)." ".__LINE__."</h3>");
}
$str_val = str_replace( "&" , '&' , $str_val );
$str_val = str_replace( "<!--" , '<!--' , $str_val );
$str_val = str_replace( "-->" , '-->' , $str_val );
$str_val = str_replace( ">" , '>' , $str_val );
$str_val = str_replace( "<" , '<' , $str_val );
$str_val = str_replace( "\"" , '"' , $str_val );
$str_val = str_replace( "\r" , null , $str_val );
$str_val = str_notsqlatacs($str_val);
if (!get_magic_quotes_gpc()){$str_val=addslashes($str_val);}
return $str_val;
}
function str_notsqlatacs($str_val) {
$searcharray =array('/drop/i','/delete/i','/union/i','/char/i','/benchmark/i','/expression/i','/alert/i','/replace/i','/write/i','/document/i','/window/i','/script/i','/user_pass/i','/unescape/i','/eval/i','/form/i','/applet/i','/object/i','/user_login/i','/setTimeout/i','/onerror/i');
$replacearray=array('drop','delete','union','char','benchmark','Expression','Alert','Replace','Write','Document','Window','Script','User_pass','Unescape','Eval','Form','Applet','Object','User_login','/SetTimeout/i','/Onerror/i');//
$str_val=preg_replace($searcharray, $replacearray, $str_val);
return $str_val;
}
Фрагмент файла ./php/wojs.php "портального движка" WebCodePortalSystem версии 5.2. И вот так вся CMSка - два с половиной мегабайта говна.
+158.4
<?php
//...
if (!count($error)) {
if(strpos($msg,'samp.ucoz')) $msg = htmlSpecialChars('>>>>>>>>>>>{ Я ДАЛБОЁБ }<<<<<<<<<<<<<');
if(strpos(strtoupper($msg),'GAMES.SHOP777')) $msg = htmlSpecialChars('>>>>>>>>>>>{ Я ДАЛБОЁБ }<<<<<<<<<<<<<');
$DB->query("INSERT INTO `guestbook` (`user_id`,`user_name`,`msg`,`add_date`,`ip`) VALUES ('$user_id','$user_name','$msg',NOW(),'$ip')");
header("Location: guestbook.php"); exit;
}
//...
?>
Защита от спама :))
Не, ну а чё, задолбали!
+142.5
$out="<table valign=top>";
for($k = 0; $k <= 6; $k += 1){
$sql="SELECT * FROM user_news1 ORDER BY date DESC LIMIT ".$k.",1";
$query=mysql_query($sql);
$out.="<tr>";
while ($res=mysql_fetch_assoc($query)){
$out.="<td style='vertical-align:top'>
<div class=newsblock>
<div class=newsdate>".date("d.m.Y G:i",strtotime($res['date']))."</div>
<div class=newschapter><a href='/news/".$res['id'].".html'>".$res['header']."</a></div>
".($res['photo']!= '' ? " <a href='/news/".$res['id']."'><img src=/".str_replace(".", "_small.", $res['photo'])." class=imgnews border=0 align=left></a> " : "")."
<div>".$res['announce']."</div></td>";
}
$out.="</tr>";
}
$out.="</table>";
echo $out;
Вот как надо новости выводить:)
+151.4
if (isset($_SESSION) && !is_array($_SESSION)){
exit("Hacking attempt");
}
просто улыбнуло
симпатичная антихакерская защита
+136.8
function lock_user($id)
{
global $db_obj;
$SQL = "SELECT GET_LOCK('%s', 10)";
$SQL = sprintf($SQL, (int)$id);
$result = $db_obj->query($SQL);
$row = $db_obj->fetch_array($result);
$key = "GET_LOCK('" . (int)($id) . "', 10)";
$res = $row[$key];
return $res;
}
дзен
+135.1
// Validate numeric field
public function validateNumber($field, $errorMessage, $min=2, $max=32){
if(!isset($_REQUEST[$field]) || !is_numeric($_REQUEST[$field])
|| strlen($_REQUEST[$field])<$min
|| strlen($_REQUEST[$field])>$max)
{
$this->errors[]=str_replace('<br>', '', $errorMessage) . '<br>';
}
}
Legacy код от индусов. Строки 4-5 просто лучшие.
+150.2
<option value="01"<? if (${"REG_BIRTHDATE_DAY$i"}=="01") { ?> selected<? } ?>>01</option>
<option value="02"<? if (${"REG_BIRTHDATE_DAY$i"}=="02") { ?> selected<? } ?>>02</option>
<option value="03"<? if (${"REG_BIRTHDATE_DAY$i"}=="03") { ?> selected<? } ?>>03</option>
<option value="04"<? if (${"REG_BIRTHDATE_DAY$i"}=="04") { ?> selected<? } ?>>04</option>
<option value="05"<? if (${"REG_BIRTHDATE_DAY$i"}=="05") { ?> selected<? } ?>>05</option>
<option value="06"<? if (${"REG_BIRTHDATE_DAY$i"}=="06") { ?> selected<? } ?>>06</option>
<option value="07"<? if (${"REG_BIRTHDATE_DAY$i"}=="07") { ?> selected<? } ?>>07</option>
<option value="08"<? if (${"REG_BIRTHDATE_DAY$i"}=="08") { ?> selected<? } ?>>08</option>
<option value="09"<? if (${"REG_BIRTHDATE_DAY$i"}=="09") { ?> selected<? } ?>>09</option>
<option value="10"<? if (${"REG_BIRTHDATE_DAY$i"}=="10") { ?> selected<? } ?>>10</option>
<option value="11"<? if (${"REG_BIRTHDATE_DAY$i"}=="11") { ?> selected<? } ?>>11</option>
<option value="12"<? if (${"REG_BIRTHDATE_DAY$i"}=="12") { ?> selected<? } ?>>12</option>
<option value="13"<? if (${"REG_BIRTHDATE_DAY$i"}=="13") { ?> selected<? } ?>>13</option>
<option value="14"<? if (${"REG_BIRTHDATE_DAY$i"}=="14") { ?> selected<? } ?>>14</option>
<option value="15"<? if (${"REG_BIRTHDATE_DAY$i"}=="15") { ?> selected<? } ?>>15</option>
<option value="16"<? if (${"REG_BIRTHDATE_DAY$i"}=="16") { ?> selected<? } ?>>16</option>
<option value="17"<? if (${"REG_BIRTHDATE_DAY$i"}=="17") { ?> selected<? } ?>>17</option>
<option value="18"<? if (${"REG_BIRTHDATE_DAY$i"}=="18") { ?> selected<? } ?>>18</option>
<option value="19"<? if (${"REG_BIRTHDATE_DAY$i"}=="19") { ?> selected<? } ?>>19</option>
<option value="20"<? if (${"REG_BIRTHDATE_DAY$i"}=="20") { ?> selected<? } ?>>20</option>
<option value="21"<? if (${"REG_BIRTHDATE_DAY$i"}=="21") { ?> selected<? } ?>>21</option>
<option value="22"<? if (${"REG_BIRTHDATE_DAY$i"}=="22") { ?> selected<? } ?>>22</option>
<option value="23"<? if (${"REG_BIRTHDATE_DAY$i"}=="23") { ?> selected<? } ?>>23</option>
<option value="24"<? if (${"REG_BIRTHDATE_DAY$i"}=="24") { ?> selected<? } ?>>24</option>
<option value="25"<? if (${"REG_BIRTHDATE_DAY$i"}=="25") { ?> selected<? } ?>>25</option>
<option value="26"<? if (${"REG_BIRTHDATE_DAY$i"}=="26") { ?> selected<? } ?>>26</option>
<option value="27"<? if (${"REG_BIRTHDATE_DAY$i"}=="27") { ?> selected<? } ?>>27</option>
<option value="28"<? if (${"REG_BIRTHDATE_DAY$i"}=="28") { ?> selected<? } ?>>28</option>
<option value="29"<? if (${"REG_BIRTHDATE_DAY$i"}=="29") { ?> selected<? } ?>>29</option>
<option value="30"<? if (${"REG_BIRTHDATE_DAY$i"}=="30") { ?> selected<? } ?>>30</option>
<option value="31"<? if (${"REG_BIRTHDATE_DAY$i"}=="31") { ?> selected<? } ?>>31</option>
+146.1
private function putContents($file, $string)
{
$result = false;
$f = @fopen($file, 'ab+');
if ($f) {
fseek($f, 0);
ftruncate($f, 0);
$tmp = @fwrite($f, $string);
if (!($tmp === FALSE)) {
$result = true;
}
@fclose($f);
}
@chmod($file, $this->options['file_umask']);
return $result;
}
А почему не fopen($file, 'w'); ?