- 1
- 2
- 3
- 4
- 5
define('KEY', md5('Obama'));
if($_GET['key'] != KEY) {
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+185
define('KEY', md5('Obama'));
if($_GET['key'] != KEY) {
...
}
таки обамосекьюрность))
встретилось в одном большом проекте, который успешно работает и процветает по сей день
+157.3
// Строки 8-12. Строковые константы - для мудаков, аффтар гарантирует это!
$simb_r=chr("92").chr("114");
$simb_n=chr("92").chr("110");
$simb_http="http:".chr("47").chr("47");
$simb_ss=chr("47").chr("47");
$r6=chr("35").chr("35").chr("35").chr("35").chr("35").chr("35");
// Строки 20-24. for - для мудаков, копипасту в массы!
$ses[0]=trim($ses[0]);
$ses[1]=trim($ses[1]);
$ses[2]=trim($ses[2]);
$ses[3]=trim($ses[3]);
$ses[4]=trim($ses[4]);
// 50-58. Да здравствует пафос и на хуй не нужное использование тормозных
// POSIX-регэкспов.
for ($i=0; $i < count($_bazadied['browser']); $i++) {
if (eregi($_bazadied['browser'][$i],$_SERVER['HTTP_USER_AGENT'])) exit("Only for peoples!");
}
for ($i=0; $i < count($_bazadied['ip']); $i++) {
if (eregi($_bazadied['ip'][$i],$_SERVER['REMOTE_ADDR'])) exit("IP ban!!!");
}
for ($i=0; $i < count($_bazadied['host']); $i++) {
if($_SERVER['HTTP_REFERER']==true){if (eregi($_bazadied['host'][$i],$_SERVER['HTTP_REFERER'])) exit("HOST ban!!!");}
}
// 135-142. Тернарные? Да идите вы со своими тернарными, и со switch тоже...
if($kak=="first")
{
$text[0]=strtr($text[0],$rubot,$rutop);
}
if($kak=="bot")
{
$text[0]=strtr($text[0],$rutop,$rubot);
}
// 169-170. file_get_contents() - для мудаков.
$fpp=fopen("data.html", "r");
$fulldata=fread($fpp,filesize("data.html")); fclose($fpp);
// 358. Опять же, шли бы вы со своими тернарными...
$temp=false; if(file_exists($dlb.".txt")==true){$temp=true;} if($dlb==$mylicense){$temp=true;}
// 429-437. Брутально.
if($_FILES['addfile']['tmp_name']==true &&
(strrchr($_FILES['addfile']['tmp_name'],'.jpg')==true
|| strrchr($_FILES['addfile']['tmp_name'],'.jpeg')==true
|| strrchr($_FILES['addfile']['tmp_name'],'.gif')==true
|| strrchr($_FILES['addfile']['tmp_name'],'.png')==true
|| strrchr($_FILES['addfile']['name'],'.jpg')==true
|| strrchr($_FILES['addfile']['name'],'.jpeg')==true
|| strrchr($_FILES['addfile']['name'],'.gif')==true
|| strrchr($_FILES['addfile']['name'],'.png')==true))
// 479-500. Аффтар так любит копипасту и ненавидит циклы и file_put_contents()...
if($_POST['event']=="registry"
&& $_POST['sendname']!=$adminlogin
&& $_POST['sendfio']!=$adminname)
{
if($_POST['sendkod']==$_POST['sendtrue']
&& $_POST['sendname']==true
&& $_POST['sendpass']==true
&& $_POST['sendfio']==true
&& eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$", $_POST['sendemail'])
&& $newuser=="yes"
&& file_exists("data/users/".$_POST['sendname'].".txt")==false)
{
$fop=fopen("data/users/".$_POST['sendname'].".txt", "a+");fputs($fop, "user\r\n"); fclose($fop);
$fop=fopen("data/users/".$_POST['sendname'].".txt", "a+");fputs($fop, $_POST['sendname']."\r\n"); fclose($fop);
$fop=fopen("data/users/".$_POST['sendname'].".txt", "a+");fputs($fop, $_POST['sendpass']."\r\n"); fclose($fop);
$fop=fopen("data/users/".$_POST['sendname'].".txt", "a+");fputs($fop, $_POST['sendfio']."\r\n"); fclose($fop);
$fop=fopen("data/users/".$_POST['sendname'].".txt", "a+");fputs($fop, $_POST['sendemail']."\r\n"); fclose($fop);
$_GET['event']='ok';$_GET['zapros']=$startpage;
}
else{$_GET['event']='error';$_GET['zapros']=$r6;}
$kod=0; $koduri=0;
}
// 735-744. Даёшь копипасту в массы!
$telo=str_replace(" ".$tempik[1]." "," <a href=".$tempik[0].">".$tempik[1]."</a> ",$telo);
$telo=str_replace(" ".$tempik[1].","," <a href=".$tempik[0].">".$tempik[1]."</a>,",$telo);
$telo=str_replace(" ".$tempik[1]."."," <a href=".$tempik[0].">".$tempik[1]."</a>.",$telo);
$telo=str_replace(" ".$tempik[1]."!"," <a href=".$tempik[0].">".$tempik[1]."</a>!",$telo);
$telo=str_replace(" ".$tempik[1]."?"," <a href=".$tempik[0].">".$tempik[1]."</a>?",$telo);
$telo=str_replace(" ".bukvaru($tempik[1],"bot")." "," <a href=".$tempik[0].">".bukvaru($tempik[1],"bot")."</a> ",$telo);
$telo=str_replace(" ".bukvaru($tempik[1],"bot").","," <a href=".$tempik[0].">".bukvaru($tempik[1],"bot")."</a>,",$telo);
$telo=str_replace(" ".bukvaru($tempik[1],"bot")."."," <a href=".$tempik[0].">".bukvaru($tempik[1],"bot")."</a>.",$telo);
$telo=str_replace(" ".bukvaru($tempik[1],"bot")."!"," <a href=".$tempik[0].">".bukvaru($tempik[1],"bot")."</a>!",$telo);
$telo=str_replace(" ".bukvaru($tempik[1],"bot")."?"," <a href=".$tempik[0].">".bukvaru($tempik[1],"bot")."</a>?",$telo);
// 805-808 не влезло, там подряд четыре if'а с одинаковыми условиями...
То, за что глаз уцепился при беглом чтении файла index.php CMS RumbaEasy версии 2.4 (http://rumba.net.ru/easy/skachat.html). Советую скачать оригинал и почитать - оно того стоит. А уж как пафосно она разрекламирована авторами (http://rumba.net.ru/easy/)...
З.Ы. Аффтары, если вы это читаете - извините, не имею ничего против вас лично, но, по-моему, самое место вашей разработке здесь.
+143
define ('bg_color', 'FFFFFF');
define ('border_color', 'AAAAAA');
define ('over_color', 'f4f4f4');
define ('th_color', 'e4e4e4');
CSS 4.0
+146
<?php
$link="http://cert.vatsim.net/cert/vatsimnet/idstatus.php?cid=111111";
$contents = file_get_contents($link);
if ($contents!=FALSE) {
$xml = simplexml_load_string($contents);
$output = "<code>".$contents."</code><br>LAST NAME: ".$xml->user->name_last;
$output.="<br>EMAIL: ".$xml->user->email;
return $output;
}
else {
return "FAILED";
}
?>
Парсерчег XML статов из сети ВАТСИМ
+139.1
$mem=f(qs("max(id)+1 as nextid from members "));
$mid=$mem[nextid];
$sql="`members` ( `id`, `login` , `pswd` , `fname` , `lname` , `email` , `street` , `city` , `state` , `country` , `zip` , `phone` , `fax` , `status` , `rdate` ) VALUES ( '$mid', '$login', '$pswd_1', '$fname', '$lname', '$email', '$street', '$city', '$state', '$country', '$zip', '$phone', '$fax', '$mem_default_approval', '$dt1')";
qi($sql);
Вместо auto_increment индекс можно определить вот таким вод способом)))
+147.9
<?php
define('1',E_ERROR);
define('2',E_WARNING);
define('4',E_PARSE);
define('8',E_NOTICE);
define('16',E_CORE_ERROR);
define('32',E_CORE_WARNING);
define('64',E_COMPILE_ERROR);
define('128',E_COMPILE_WARNING);
define('256',E_USER_ERROR);
define('512',E_USER_WARNING);
define('1024',E_USER_NOTICE);
define('2048',E_STRICT);
define('4096',E_RECOVERABLE_ERROR);
define('8192',E_DEPRECATED);
define('16384',E_USER_DEPRECATED);
define('30719',E_ALL);
?>
<?php
define('E_ERROR',1);
define('E_WARNING',2);
define('E_PARSE',4);
define('E_NOTICE',8);
define('E_CORE_ERROR',16);
define('E_CORE_WARNING',32);
define('E_COMPILE_ERROR',64);
define('E_COMPILE_WARNING',128);
define('E_USER_ERROR',256);
define('E_USER_WARNING',512);
define('E_USER_NOTICE',1024);
define('E_STRICT',2048);
define('E_RECOVERABLE_ERROR',4096);
define('E_DEPRECATED',8192);
define('E_USER_DEPRECATED',16384);
define('E_ALL',30719);
?>
(c) http://ru2.php.net/manual/en/errorfunc.constants.php#87906
+175
$exp=explode("/images/",$value['picture_big_location']);
$newVal=$exp[0]."/bigImages/".$exp[1];
Задача состояла в том, чтобы в строке заменить "/images/" на "/bigImages/"
+154
<?php
$br="
";
include "functions.php";
mconnect();
$result=mysql_query("TRUNCATE base");
$tags=file_get_contents("tag_cache");
$tags=str_replace("'","\'",$tags);
$tags=explode("songList begin",$tags);
$j=0;
for($i=1; $i<count($tags); $i++)
{
$tmp=explode("songList end",$tags[$i]);
$tbase[$j++]=$tmp[0];
}
$j=0;
for($i=0; $i<count($tbase); $i++)
{
$tmp=explode("key: ", $tbase[$i]);
for($i2=1; $i2<count($tmp); $i2++)
$element[$j++]=$tmp[$i2];
}
for($i=0; $i<count($element); $i++)
{
$tmp=explode($br."file: ",$element[$i]);
$track[$i]['key']=$tmp[0];
$tmp=explode($br."Time: ",$tmp[1]);
$track[$i]['file']=$tmp[0];
$tmp=explode($br."Artist: ",$tmp[1]);
$track[$i]['Time']=$tmp[0];
$tmp=explode($br."Title: ", $tmp[1]);
$track[$i]['Artist']=$tmp[0];
$tmp=explode($br."Album: ", $tmp[1]);
$track[$i]['Title']=$tmp[0];
$tmp=explode($br."Track: ", $tmp[1]);
$track[$i]['Album']=$tmp[0];
$tmp=explode($br."Date: ", $tmp[1]);
$track[$i]['Track']=$tmp[0];
$tmp=explode($br."Genre: ", $tmp[1]);
$track[$i]['Date']=$tmp[0];
$tmp=explode($br."mtime: ", $tmp[1]);
$track[$i]['Genre']=$tmp[0];
$track[$i]['mtime']=$tmp[1];
$track[$i]['Size']=filesize(str_replace("\'","'", $track[$i]['file']));
}
for($i=0; $i<count($track); $i++)
{
// echo $track[$i]['Artist']." - ".$track[$i]['Album'].": ".$track[$i]['Title']."; " . round($track[$i]['Time']/60) . "m " .$track[$i]['Time']%60 . "s<hr>";
$request="INSERT INTO base (file, Time, Artist, Title, Album, Track, Date, Genre, mtime, Size) VALUES ('".
$track[$i]['file']."', '"
.$track[$i]['Time']."', '"
.$track[$i]['Artist']."', '"
.$track[$i]['Title']."', '"
.$track[$i]['Album']."', '"
.$track[$i]['Track']."', '"
.$track[$i]['Date']."', '"
.$track[$i]['Genre']."', '"
.$track[$i]['mtime']."', '"
.$track[$i]['Size']."')";
echo $request."<hr>";
$result=mysql_query($request) or die(mysql_error().$i.";(");
}
?>
Прога, которая из базы mpd запихивает в mysql
+151
for($i=0; $i<count($a); $i++)
{
$b=explode("|",$a[$i]);
for($j=0; $j<count($b); $i++)
echo $b[$j] . "<hr>";
}
Часто бывает...
+146.8
if($_POST['vards'] and $_POST['epasts'] and $_POST['dzimums'] and $_POST['real_vards'] and $_POST['real_uzvards'] and $_POST['b_day1'] and $_POST['b_day2'] and $_POST['b_day3'] and $_POST['parole1'] and $_POST['parole2'] and $_POST['parole1'] == $_POST['parole2'])
{
$vards = "'".htmlspecialchars($_POST['vards'])."'";
$parole = "'".md5(md5($_POST['parole2']))."'";
$epasts = "'".htmlspecialchars($_POST['epasts'])."'";
$dzimums = "'".htmlspecialchars($_POST['dzimums'])."'";
$skype = "'".htmlspecialchars($_POST['skype'])."'";
$b_diena = "$_POST[b_day1]";
$b_menesis = "$_POST[b_day2]";
$b_gads = "$_POST[b_day3]";
$real_vards = "'".htmlspecialchars($_POST['real_vards'])."'";
$real_uzvards = "'".htmlspecialchars($_POST['real_uzvards'])."'";
$smirdiga_ip = "'".htmlspecialchars($_SERVER['REMOTE_ADDR'])."'";
$result = mysql_query("SELECT id FROM lietotaji where vards=$vards");
$rindinas = mysql_num_rows($result);
and so on.....
А я уж думал, так сейчас никто не пишет. Суперская защита от SQL Injection: htmlspecialchars.