Как защитить свои права от быдлокода предшественника?

lex4e

Новичок
Спасибо whirlwind) Всё по существу и лаконично. Без мыльных пузырей)
 

Духовность™

Продвинутый новичок
И вы считаете что JQUERY это технология 98? ))))))
Технология 98 - это когда все мигает, пляшет, ущербный дизайн и все это в целом лишено какого-либо вкуса. Вот это -- "технология 98". Факт того, что ты используешь jQuery - ничего не говорит.

Ok. Вот как примерно выглядит резюме программиста: http://andrey.novikov.com/details/cv.html
Вот так выглядит резюме дизайнера: http://conclave.ru/
Момент ясен?
 

craz

Нестандартное звание
я програмист Может пока ещё не очень опытный В програмировании 2 года , а сайты писались год назад , резюме и по ушу год назад. И вы считаете что JQUERY это технология 98? )))))) Эти сайты чисто на Jquery написаны) Мне интерестно посмотреть на Ваши первые работы
JQuery/jQuery но не как не JQUERY и не Jquery
 

lex4e

Новичок
Спасибо whirlwind) Всё по сути и лаконично. Без мыльных пузырей)
 

AmdY

Пью пиво
Команда форума
В програмировании 2 года , а сайты писались год назад , резюме и по ушу год назад. И вы считаете что JQUERY это технология 98? )))))) Эти сайты чисто на Jquery написаны) Мне интерестно посмотреть на Ваши первые работы
два года это очень много, никому не говори иначе у тебя мало шансов с такой "обучаемостью" найти работу в хорошей компании.
по поводу jQuery, программирование с помощью этого фреймворка и готовых плагинов к нему - это уровень меньше 98-го года, тогда писать на js было значительно сложнее.
 

HraKK

Мудак
Команда форума
ага, только ТС даже слова(ТДД) такого не слышал.
 

lex4e

Новичок
TDD - разработка через тестирование. Слышал и применял. Даже разрабатывал свои алгоритмы.
 

AmdY

Пью пиво
Команда форума
lex4e
может я прикрою темку, а то сейчас начнётся стёб.

ответ на твой вопрос лежит на поверхности - нужно использовать систему контроля версий, чтобы всегда можно было ткнуть, мол этот кусок глючного кода был в ревизии ещё до моего рождения или злонамеренно вставлен обидевшимся предыдущим разработчиком.
 

AmdY

Пью пиво
Команда форума
Духовность™
ты сделал такой глубокомысленный вывод о причинно следственной связи потому что сегодня день начинается на букву "П"?
 

igortik

Новичок
ТС, покажи свой стиль оформления кода и покажи кусок из вышеупомянутого проекта, который "падает"
 

lex4e

Новичок
КОД МОЙ :
PHP:
<?php
session_start();

if (isset($_POST['arts'])) { 
	$db=connect();
	$article=$_POST['arts'];
	foreach($article as $v) {
		$db->query("delete from article where id_article='$v' and id_clients='".$_SESSION['client']."'");
	}
	$db->close();
}

if (isset($_POST['name_article'])) {

	try {
	
		$name=trim($_POST['name_article']);
		$shot_desc=trim($_POST['shot_desc_article']);
		$desc=trim($_POST['desc_article']);
		$type=trim($_POST['type_article']);
		$price=trim($_POST['price_article']);
		$curr=trim($_POST['currency']);
		$img=trim($_FILES['pic_art']['name']);
		
		if ($name===''||$name===null) throw new Exception("<div class=error>Вы не ввели имя продукции!</div>");
		if ($desc===''||$desc===null) throw new Exception("<div class=error>Вы не ввели описание продукции!</div>");
		if ($type===''||$type===null||$type==='0') throw new Exception("<div class=error>Вы не выбрали к какой категории относится продукция!</div>");
		if ($price===''||$price===null) throw new Exception("<div class=error>Вы не ввели стоимость продукции!</div>");
				
		if (!copy($_FILES['pic_art']['tmp_name'],"../images/articleImg/".$img)) throw new Exception("<div class=error>Не удалось загрузить изображение продукции! Попробуйте ещё раз заполнить форму, пожалуйста.</div>");
		
		corner_img($img);
		
		if (!get_magic_quotes_gpc()) {
			$name=addSlashes($name);
			$shot_desc=addSlashes($shot_desc);
			$desc=addSlashes($desc);
			$type=addSlashes($type);
			$price=doubleval($price); 
		}
			
		$art=new Article($name,$_SESSION['client']);
		if ($shot_desc==''||$shot_desc==null) $art->setShotDesc(substr($desc,0,100).'...'); else $art->setShotDesc($shot_desc);
		$art->setDesc($desc);
		$item=new Item($type,$_SESSION['client']);
		$art->setCategory($item);
		$art->setPrice($price);
		$art->setCurrency($curr);
		$art->setImg($img);
		$art->save();
		
		form_add_article();
		echo "<div class=message>Товар успешно добавлен!</div>";
		echo "<hr>";
		form_del_article();
				
	} catch (Exception $e) {
		
		form_add_article($name,$type,$shot_desc,$desc,$price);
		echo $e->getMessage();
		echo "<hr>";
		form_del_article();
		
	}
	
} else {

	form_add_article();
	echo "<hr>";
	form_del_article();

}
?>
КОД САЙТА , КОТОРЫЙ ПАДАЕТ :
PHP:
<div class="vidio" style="display:none;">

<p style="font-size:12px; font-weight:700; padding-top:8px; margin-left:5px;"><br>

</p>

<a href="video.php?images=28"><img src="img/yootorials.png"></a>

<p align="center" class="samo">Видеоанонсы номеров</p>

</div>



<p align="center" style="padding-bottom:3px;" ><a href="oboi.php" style="font-size:12px; font-weight:700; color:#000000; font-family:Tahoma;  ">Заставки<br>

 на рабочий на стол</a></p>

<EMBED style=" margin-bottom:5px; margin-left:4px; "  SRC="img/45/Oboi.swf" quality=high WIDTH=180 HEIGHT=135 TYPE="application/x-shockwave-flash" PLUGINSPAGE="[url]http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash[/url]"></EMBED>

<br>

<br>

<br>

<a href="galery.php"><img src="img/48/GalereyaBaner.JPG" /></a><br />



<br>

<br>





<div class="pomni">

 

<div class="pomni2"><p><strong>К размышлению</strong></p></div>

<p class="konf">Всегда поступайте по совести – это некоторым людям понравится, а остальных удивит. </p>

<p align="right" class="konf"><em>Марк Твен </em></p>

</div>

<br><br>





<br>



<p align="center" style=" font-size:12px; font-family:Tahoma; font-weight:700; padding-top:6px;">Доброжелательность <br>

в подарок</p>

 

<a href="mandaly.php"><img src="img/44/MANDALY_MINI.jpg" style=" margin-left:5px; margin-bottom:20px;"></a>

<br>



<div class="lichkam" style="display:none;">

<p class="lichtek">&nbsp;</p>

<p class="lich2"><strong>График выхода</strong> <br>

"Личный камертон" в 2010 году</p>

<a href="l_kamerton.php"><img src="img/44/11_12_2010_NEW_NEW.jpg"></a>

<a href="l_kamerton.php" class="chitdalee2">Читать далее...</a>

</div>



<div class="oboi" style="display:none;">

<p>Для читателей - заставка на рабочий стол "Колеса Жизни"</p>



<a href="oboi.php"><img src="img/oboi_06.jpg"></a><br>

Скачивайте и развивайтесь с удовольствием еще и таким способом

<br>

<br>

<br>





</div>

 <a href="questionnaire.php"><img src="img/45/Anketa_copy.png" style="margin-left:10px; " /></a>

 <br>

<br><br />

<a href="video.php"><img src="img/45/tv.jpg" style="margin-left:5px; display:none"></a><br><br>

<a href="content.php?page=21"><img src="img/45/videourok.png" /></a>





<br>

<br>

<br>

<br>

<br>







<div>

<form action="[url]http://kolesogizni.com/poisk.php[/url]" id="cse-search-box">

   <input type="hidden" name="cx" value="partner-pub-2391844873348590:5e46ekriqqp" />

    <input type="hidden" name="cof" value="FORID:9" />

    <input type="hidden" name="ie" value="cp1251" />

    

	<input type="text"  onfocus="if(this.value=='Поиск...') this.value='';" onblur="if(this.value=='') this.value='Поиск...';"   maxlength="20" name="q" value="Поиск по сайту..." />

	<input type="image" src="img/next/magnifier_icon.png"  name="sa"  >

</form>



</div>

<br>

<br>

<noindex>

<!--LiveInternet counter--><script type="text/javascript"><!--

document.write("<a href='[url]http://www.liveinternet.ru/click[/url]'  "+

"target=_blank><img src='//counter.yadro.ru/hit?t14.6;r"+

escape(document.referrer)+((typeof(screen)=="undefined")?"":

";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?

screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+

";"+Math.random()+

"' alt='' title='LiveInternet: показано число просмотров за 24"+

" часа, посетителей за 24 часа и за сегодня' "+

"border='0' width='88' height='31'><\/a>")

//--></script><!--/LiveInternet-->

</noindex>

<br />

<br />







<noindex>

<!-- MyCounter v.2.0 -->

<script type="text/javascript"><!--

my_id = 58879;

my_width = 88;

my_height = 61;

my_alt = "MyCounter - счётчик и статистика";

//--></script>

<script type="text/javascript"

  src="[url]http://scripts.mycounter.ua/counter2.0.js[/url]">

</script><noscript>

<a target="_blank" rel="nofollow" href="[url]http://mycounter.ua/[/url]"><img

src="[url]http://get.mycounter.ua/counter.php?id=58879[/url]"

title="MyCounter - счётчик и статистика"

alt="MyCounter - счётчик и статистика"

width="88" height="61" border="0" /></a></noscript>

<!--/ MyCounter -->

</noindex>

<br>

<br>

<br>



</div><!--left--><div class="bigmenu"> 
<ul> 
<li class="bigsp" ><p align="center"><a href="index.php" id="topselmenu" >ГЛАВНАЯ</a></p></li> 
<li class="bigsp"><p align="center"><a href="podpis.php"  >ПОДПИСКА</a></p></li> 
<li class="bigsp"><p align="center"><a href="magazin.php"  >МАГАЗИН</a></p></li> 
<li class="bigsp"><p align="center"><a href="dilery.php"  >НАШИ ДИЛЕРЫ</a></p></li> 
<li class="bigsp"><p align="center"><a href="contact.php"  >КОНТАКТЫ</a></p></li> 
<li></li> 
</ul> 
</div> 
<div class="clearrig"></div><div id="right">

<a href="magazin.php" style="width:180px; display:none; height:285px; margin-left:10px;  background-image:url(img/45/komanda.png);"><p align="center" style=" font-size:70px; font-weight:900; line-height:50px; padding-top:120px; padding-left:40px;  color:#880227;">-55</p><p align="center"  style="font-size:20px; padding-left:40px;  line-height:20px; color:#880227;" ></p></a>
 

AmdY

Пью пиво
Команда форума
lex4e
радуйся, что тебе половину зарплаты ещё отдали, а не высчитали столько же.
http://phpfaq.ru/ и пока не одолеешь не берись программировать за деньги.

думаешь, нам больше заняться нечем, как твои посты редактировать и вставлять тег PHP? имей совесть, оформляй посты нормально.
 

igortik

Новичок
Разметка страницы - это не пхп код.
А в твоем коде есть дыра на тему mysql-injection
 

igortik

Новичок
Также порадовали trim для массива $_FILES и проверки значений переменных включая проверку на тип данных с пустой строкой ...
реализация Exception туда же...

и магические кавычки лучше вовсе не использовать, их отключение на вменяемых хостингах осуществляется директивами апачу через .htaccess или в php.ini в док руте хоста... а лучше вообще отключать их по возможности (на уровне глобального конфига), т.к. существует хорошая функция mysql_real_escape_string(), экранирующая небезопасные символы.

На худой конец, перед ее использованием можешь еще запустить htmlspecialchars() или более мудреные варианты, их в сети куча.

mysql injection здесь

PHP:
foreach($article as $v) {
        $db->query("delete from article where id_article='$v' and id_clients='".$_SESSION['client']."'");
}
Фактически, ты отдаешь в запрос строку, не приводя ее ни к типу, например (int)$v или intval($v) и вообще никак не обрабатываешь.
Понимаешь, одно дело, что до этого сайта никому не будет дела вовсе, но другой аспект - уровень квалификации, такие вещи в голове по дефолту должны реализовываться, если стремишься улучшать навыки.

Далее по коду:
PHP:
$name ==='' || $name === null
это полный бред, т.к. тройное равно "=" это проверка значения переменной с типом, т.е. помимо проверки содержимого ты еще делаешь проверку на тип данных, как минимум, это ни к чему, а в данной реализации и в помине. Про последовательную проверку с пустотой а потом null я просто промолчу.

Что касается
PHP:
$img=trim($_FILES['pic_art']['name']);
Это тоже лишнее, т.к. тебе стоит понимать, что данный массив формируется, исходя из данных, полученных от самого файла, его тип mime, имя и т.п.

В общем, прими критику кода адекватно, т.к. все написанное выше не стеб, а дельный совет.

p.s. ждем код проекта, "который падает" :)
 

AmdY

Пью пиво
Команда форума
шет. зашёл на форум, чтобы переключиться, а то у меня затык с реализацией поиска на проекте. сейчас штырит, не могу вернуться к работе.
 

igortik

Новичок
шет. зашёл на форум, чтобы переключиться, а то у меня затык с реализацией поиска на проекте. сейчас штырит, не могу вернуться к работе.
а я мозг прокачал, форум почитал и иду банки качать )))
после хорошего кача затыки проходят :D
 

Духовность™

Продвинутый новичок
Механизм исключений ты НЕ понимаешь.
Про составление запросов ты НЕ читал.
ОО-синтаксис, уверен, тут притянут за уши и исполняет роль тупой оболочки, никак не связанной с ООП.
Если устаревшие get_magic_quotes_gpc() выключены, ты их за каким-то х. включаешь, эскейпя при этом данные, которыми наполняешь класс.
Про шаблоны ты тоже ничего не слышал.
 
Сверху