Говнокод или как не следует писать...

1. Neformat (18.04.2010 / 20:00)
Вот линк: http://govnokod.ru кому-то почитать посмеяться, кому то поплакать, увидев свое творение.
Если кому есть чем поделиться, пишем не проходим мимо...

2. Neformat (18.04.2010 / 20:01)
Вобщем, вот из моей коллекции. Из мода чата регион, под авторством какого то Шахтера. Наверно треть переменных так проверяется:
<?
$fid = intval(check($_GET['fid']));
if (eregi("[^0-9]", $fid))
{
echo"Попытка взлома!!!";
echo'<a href="../enter.php?'.$ses.'">Главная</a><br/>';
;}
if (empty($_GET['fid']))
{
echo "Ошибка!!!"; 
;}
?>


3. Денис (18.04.2010 / 20:04)
2. да уж)) до такого ещё додуматься надо)))

4. AiD (18.04.2010 / 20:24)
SQL / Говнокод #3032, жеско. А вобще, полезно почитать практически каждому, особенно начинающим..

5. Bogdan Bogdanov (18.04.2010 / 20:26)
4. Anonim-88, Согласен. Поддакивать всякий может...

6. Кирилл Алексеевич (18.04.2010 / 20:26)
Хороший проект, направлен против быдлокодеров.

7. finall2 (18.04.2010 / 20:51)
Ахахаха друга постебал одним кодом))
"А я нашу админку переделал так"
if($_GET['admin']==rtm5k5kt56yhj6h6h6){
echo"Админка"; }


8. Azzido (18.04.2010 / 21:04)
Я сам еще года два назад переменные примерно так фильтровал
addslashes(htmlspecialchars(mysql_escape_string(trim... Еще и потом str_replace("'","",... и тд, щас старые скрипты смотрю свои, ну думая я чайник smile

9. ramzes (18.04.2010 / 21:09)
if ($action=="check"){
if (isset($_POST['agree'])) {
$agree = check($_POST['agree']);
} else {
$agree = 0;}
if ($agree==1){
INSTALL.php мотор 19.
<?php htmlspecialchars(time()); ?>
это из некого F-Portal ранних версий, незнаю может и сейчас естьsmile где то в регистрации

10. ramzes (18.04.2010 / 21:16)
Обменник какой то под мотор
if(preg_match('|\.php|,$_FILE['userfile']['name']) OR .....){
echo'FUCK';
}
move_uploadet_file($_FILES['userfile']['tmp_name'],....);
смешнее просто не кудаsmile автор не знаком с exit();

11. Иван (18.04.2010 / 21:24)
Сайт как-то давно в сети встречал, но ничего не понял ))

12. Денис (18.04.2010 / 22:25)
4, я бы сделал так
<?php
$fid = $_GET['fid'];
if (!ctype_digit($fid))
{
echo "Попытка взлома!!!"; 
echo'<a href="../enter.php?'.$ses.'">Главная</a><br/>';
exit();
}
?>


13. Саня (18.04.2010 / 22:43)
13. Bangi, кажется abs(intval($fid)) с головой хватило бы...
Нафига еще какието заморочки типа "хацкер лох" выводить?

14. Михаил (18.04.2010 / 22:47)
Мой говнокод:
<?php
session_name('cl');
session_start();
$ses=session_id();
require_once('shapka.php');
require_once('db.php');
require_once('inlinebrj.php');
require_once('tercyme.php');
print $begin;
if(@$id and $pass)
{
$id=intval($id);
$pass=mysql_escape_string($pass);
$prov=mysql_query("SELECT * from `user` WHERE `uid`='$id' LIMIT 1");
if(!mysql_num_rows($prov))
{
$_SESSION['enter']='no';}
else
{
$s=mysql_fetch_array($prov);
if($s['passtime']>time())
{print "$sehvuch<br/><a href=\"index.php\">$bash</a><br/>$endpage"; exit;}
elseif($pass!=$s['pass'])
{
mysql_query("UPDATE `user` SET `counterr`=`counterr`+1 WHERE `uid`='$id'");
if(ceil(($s['counterr']+1)/3)*3==($s['counterr']+1))
{$time=time()+300;
mysql_query("UPDATE `user` SET `passtime`='$time' WHERE `uid`='$id'");
}
$_SESSION['enter']='no';
}
else
{
$_SESSION['enter']='yes';
$_SESSION['uid']=$id;}}}
#
if(@$_SESSION['enter']!='yes')
{
print "Неверный логин или пароль<br/>";
print '<a href="index.php?str='.$str.'">'.вернуться.'</a><br/>';
}
else
{
...
}
?>
Такое я написал на каждой из сотни страниц

15. Денис (18.04.2010 / 22:57)
14. sanzstez, это я показывал по тому коду... так-то, да..

16. Владислав (21.04.2010 / 00:29)
15. Flyd, где написал???

17. DmitryDick (21.04.2010 / 00:47)
<?php
   switch($method)
   {
      default:
      echo'';//Сжатие не поддерживается<br>
      break;
...
?>
улыбнуло) F-portal 4

18. Михаил (21.04.2010 / 01:24)
Пират Юрьевич (Сегодня / 00:29)
15. Flyd, где написал???
Давно писал текстовую сеть yesban.mobi, если кто-нибудь её помнит

URL: https://visavi.net/topics/8382