- 1
- 2
if (isset($table_alias) && $table_alias && $table_alias!='')
$object_table_name = $table_alias;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+162
if (isset($table_alias) && $table_alias && $table_alias!='')
$object_table_name = $table_alias;
Feng Office, система управления permissions.
Почему так много дельных разработчиков не используют empty() ?
+166
echo 'Состояние ебических кавычек: '.(get_magic_quotes_gpc() ? '<span class="red">Да как же их вырубить!!?</span>' : '<span class="green">Вырублены!</span>');
+160
<?if ($j == 0)
{
if (in_array("PRICE", $arParams["COLUMNS_LIST"])):?>
<td><?=$arBasketItems["PRICE_FORMATED"]?></td>
<?endif;?>
<?}?>
<?if ($j != 0)
{
if (in_array("PRICE", $arParams["COLUMNS_LIST"])):?>
<td></td>
<?endif;?>
<?}?>
+160
<?php
class SQLInjection
{
private function filter(&$query)
{
$sql_inj = array("'", ";", "/**/", "/UNION/", "/SELECT/", "DELETE", "AND" "AS ", "EVAL","<?",'"',"$",'..');
foreach ($sql_inj as $res) {
if (stristr($query, $res)) {
unset($query);
}
}
$query = mysql_real_escape_string($query);
}
public function filterInject($query)
{
filterInjectGET();
filterInjectPOST();
filterInjectCOOKIE();
filterInjectSERVER();
filterInjectSESSION();
filterInjectFILES();
}
public function filterInjectGET()
{
filter($GLOBALS['_GET']);
}
/*Остальные функции filterInject выгядят аналогично*/
}
?>
Ультимативная борьба с SQL-инъекциями. Враг не пройдёт! Бланк-пейдж встретит его непреступной стеной!
+160
<?php
//error_reporting(0);
list($sms, $ss) = explode(' ', microtime());
$start_time=($ss+$sms);
unset($sms);
unset($ss);
include ROOT.'config.php';
define('VERSION', '0.8');
if(!isset($installed) && $_SERVER['PHP_SELF']!='/install.php') header("Location: /install.php");
if(isset($installed)) $db = mysql_connect($dbhost, $dbuser, $dbpass) or die('Could not connect to database server');
if(isset($installed))mysql_select_db($dbname) or die('Could not select database');
if(isset($installed)) mysql_set_charset('utf8');
$sql_query_cnt = 1;
function db_fetch_obj_all($query){
$res = mysql_query($query);
$GLOBALS['sql_query_cnt']++;
if($res==false) retnulla($query);
$foa = array();
while($fo = @mysql_fetch_object($res)) $foa[]=$fo;
return $foa;
}
function db_query($q){
$res = mysql_query($q);
$GLOBALS['sql_query_cnt']++;
if($res==false) retnulla($q);
return $res;
}
function retnulla($q){
echo '<div class="warn">Ошибка при выполнении SQL-запроса</div><div class="post">'.$q.'</div><div class="post">'.mysql_error().'</div>';
}
function getConf($key){
$cfg = db_fetch_obj_all("SELECT * FROM `tcms_config` WHERE `name`='$key'");
return $cfg[0]->value;
}
function at_page(){
global $loggedin;
if($loggedin){
$fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
return $fobj[0]->at_page;
}
else return getConf('at_page');
}
function curr_theme(){
global $loggedin;
if($loggedin){
$fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
return $fobj[0]->use_theme;
}
else return getConf('default_theme');
}
function puthead($title=''){
global $uid;
if($title!='') $page_name = $title;
include ROOT.'themes/'.curr_theme().'/head.php';
}
function putfoot($menu=''){
global $foot_menu, $mode;
if($menu!='') $foot_menu.= ' | '.$menu;
include ROOT.'themes/'.curr_theme().'/foot.php';
}
session_start();
$loggedin = false;
if(isset($_SESSION['uid'])) $loggedin = true;
if($loggedin){
$fobj = db_fetch_obj_all('SELECT * FROM `tcms_users` WHERE `id`='.$_SESSION['uid']);
$uid = $fobj[0]->id;
$login = $fobj[0]->login;
$mode = $fobj[0]->mode;
$ban = $fobj[0]->ban;
$banned = $ban>time();
if($banned) $tobanend = $ban-time();
}else $mode=0;
function escape($str){
$str = htmlspecialchars($str);
$str = mysql_real_escape_string($str);
return $str;
}
function lower($str){
return mb_strtolower($str, 'utf8');
}
function len($str){
return mb_strlen($str, 'utf8');
}
// и так далее...
func.php
А ООП в class.php там просто отпад.
Там всю систему сюда постить надо, лол.
Сношу архив нафиг, такой код нужно сжигать в доменных печах.
+160
<?php
define('ROOT', '../');
include ROOT.'func.php';
include ROOT.'class.php';
puthead('Форум');
$fposts = getConf('forum_posts_disp')==1;
if($mode>2) echo '<a href="/forum/newcat.php">[Создать форум]</a>';
$cats = forum::get_cats();
foreach($cats as $cat){
echo '<div class="forumcat"><b>'.$cat->name.'</b>';
$forums = forum::get_catforums($cat->id);
foreach($forums as $f){
echo '<br><a href="/forum/viewforum.php?id='.$f->id.'">'.$f->name.'</a>';
# МОЖЕТ ВЫЗВАТЬ КРИТИЧЕСКУЮ НАГРУЗКУ СЕРВЕРА!! Лучше ОТКЛЮЧИТЬ!!!!!
if($fposts){
echo ' ('.forum::count_topics($f->id).'/'.forum::count_posts_forum($f->id).')';
}
# КОНЕЦ ОПАСНОГО КУСКА
if($mode>2) echo ' <a href="/forum/upforum.php?id='.$f->id.'">[Поднять выше]</a> <a href="/forum/del.php?forum='.$f->id.'">[Удалить]</a>';
}
if($mode>2) echo '<hr><a href="/forum/newforum.php?id='.$cat->id.'">[Создать подфорум]</a> <a href="/forum/del.php?cat='.$cat->id.'">[Удалить]</a> <a href="/forum/upcat.php?id='.$cat->id.'">[Поднять выше]</a>';
echo '</div>';
}
putfoot();
?>
Оттуда же.
/forum/index.php
+159
<?php
include("block/connect.php");
$result = mysql_query("SELECT name FROM files",$db);
$myrow = mysql_fetch_array($result);
$dir=opendir('./files/');
$file = readdir ($dir);
$amt=mysql_num_rows($result);
$cf=0;
$cfb=$amt;
$fname[]=""; //Заносим в массив fname имена файлов которые находятся в папке
while ($file = readdir ($dir))
{
if($file!=".."&&$file!=".")
{
$fname[$cf]=$file;
$cf++;
}
} //Занесли
$fdbname[]=""; //Заносим в массив fdbname имена файлов которые находятся в папке
$j=0;
do
{
$fdbname[$j]=$myrow["name"];
$j++;
}
while($myrow = mysql_fetch_array ($result)); //Занесли
echo "Количество файлов в папке: ".$cf."<br>";
echo "Количество файлов в базе: ".$cfb."<br><br>";
echo "Файлы в папке:<br>"; //Выводим массив fname
for($i=0;$i<=$cf;$i++)
{
echo $fname[$i]."<br>";
}
echo "<br>Файлы в базе:<br>"; //Выводим массив fdbname
for($i=0;$i<=$cfb;$i++)
{
echo $fdbname[$i]."<br>";
}
//Выводим имена файлов которые есть в папке но нет в базе
echo "<br>Файлы которые есть в папке но нет в базе:";
for($i=0;$i<=$cf;$i++)
{
for($j=0;$j<=$cfb;$j++)
{
if($fname[$i]==$fdbname[$j])
{
break;
}
if($j==$cfb)
{
echo "<br>".$fname[$i]."___НЕТ в базе";
echo "<br>".$fname[$i]."___УДАЛЁН";
unlink('./files/'.$fname[$i]);
}
}
}
?>
Цитата:
"Спасибо, но я уже решил проблему самостоятельно, + ещё добавил удалениее тех файлов которых нет в базе Я внес в один массив файлы которые есть в папке, а в другой массив файлы которые есть в базе, потом сравнил два массива...
можете оценить:"
+158
<?php
define('ROOT', './');
include ROOT.'func.php';
include ROOT.'class.php';
puthead();
if(isset($_GET['e'])){
echo 'Ошибка '.$_GET['e'];
}
$incpage='';
for($i=0;$i<2;$i++){
if(isset($_GET["i$i"]) && preg_match('/^[a-zA-Z0-9_]+$/', $_GET["i$i"])) $incpage=$_GET["i$i"];
}
if($incpage==''){
if($is_web) include ROOT.'about.tchtml';
else include ROOT.'index_page.tchtml';
}
else include ROOT.$incpage.'.tchtml';
putfoot();
?>
<?php
define('ROOT', './');
include ROOT.'func.php';
puthead('Заголовок');
?>
Пример создания страниц под двиг
<?
putfoot();
?>
The CMS. (Да, это такое название.)
Как ни странно, в состав входит полноценный форум, гостевая книга, модуль новостей и еще куча всякой херни.
И все это даже работает.
Но тут меня угораздило заглянуть в сорцы.
index.php и пример создания страницы.
+162
<?php
$month_cols = array("january" => 31,
"february" => 28,
"march" => 31,
"april" => 30,
"may" => 31,
"june" => 30,
"july" => 31,
"august" => 31,
"september" => 30,
"october" => 31,
"november" => 30,
"december" => 31);
if($_POST["month_to_change"])
{
$month_to = $_POST["month_to_change"];
for($i = 1; $i <= $month_cols[$_POST["month_to_change"]]; $i++)
{
$description = mysql_real_escape_string($_POST["textar_".$i]);
mysql_query("UPDATE `calender` SET `description` = '$description' WHERE `day` = '$i' AND `month` = '$month_to' LIMIT 1");
}
}
echo "<h3>Лунный календарь</h3>";
if($_POST["month_change"])
{
if($_POST["month"] == "january") $jan_sel = "selected";
if($_POST["month"] == "february") $feb_sel = "selected";
if($_POST["month"] == "march") $mar_sel = "selected";
if($_POST["month"] == "april") $apr_sel = "selected";
if($_POST["month"] == "may") $may_sel = "selected";
if($_POST["month"] == "june") $jun_sel = "selected";
if($_POST["month"] == "july") $jul_sel = "selected";
if($_POST["month"] == "august") $aug_sel = "selected";
if($_POST["month"] == "september") $sep_sel = "selected";
if($_POST["month"] == "october") $oct_sel = "selected";
if($_POST["month"] == "november") $nov_sel = "selected";
if($_POST["month"] == "december") $dec_sel = "selected";
}
else
{
$jan_sel = "selected";
}
$changing_month = $_POST["month"];
if($changing_month == "") $changing_month = "january";
echo "<table>\n";
echo "<tr><td>\n";
echo "<form name=\"form_name\" id=\"form_id\" action=\"\" method=\"post\">\n";
echo "<select name=\"month\" onChange=\"this.form.submit()\">\n
<option value=\"january\" $jan_sel>Январь</option>\n
<option value=\"february\" $feb_sel>Февраль</option>\n
<option value=\"march\" $mar_sel>Март</option>\n
<option value=\"april\" $apr_sel>Апрель</option>\n
<option value=\"may\" $may_sel>Май</option>\n
<option value=\"june\" $jun_sel>Июнь</option>\n
<option value=\"july\" $jul_sel>Июль</option>\n
<option value=\"august\" $aug_sel>Август</option>\n
<option value=\"september\" $sep_sel>Сентябрь</option>\n
<option value=\"october\" $oct_sel>Октябрь</option>\n
<option value=\"november\" $nov_sel>Ноябрь</option>\n
<option value=\"december\" $dec_sel>Декабрь</option>\n
</select>\n";
echo "<input type=\"hidden\" name=\"month_change\" value=\"change\">\n";
echo "</td></tr>\n";
for($i = 1; $i <= $month_cols[$changing_month]; $i++)
{
$q_q2 = mysql_query("SELECT `description` FROM `calender` WHERE `day` = '$i' AND `month` = '$changing_month' LIMIT 1");
$descr = mysql_fetch_row($q_q2);
echo "<tr valign=\"top\" cols=\"5\">
<td><b>$i</b></td>
<td>
<textarea name=\"textar_$i\">".$descr[0]."</textarea>
</td>
</tr>\n";
}
echo "<tr>
<td colspan=\"2\" align=\"right\">
<input type=\"submit\" value=\"Сохранить\">
</td>
</tr>\n";
echo "<input type=\"hidden\" name=\"month_to_change\" value=\"$changing_month\">\n";
echo "</form>";
echo "</table>";
?>
А это уже часть, которая апдейтит базу :-)
+159
<?php
$ident = mysql_connect("localhost", "root", "");
mysql_select_db("database");
$month_cols = array("january" => 31,
"february" => 28,
"march" => 31,
"april" => 30,
"may" => 31,
"june" => 30,
"july" => 31,
"august" => 31,
"september" => 30,
"october" => 31,
"november" => 30,
"december" => 31);
foreach($month_cols as $key => $value)
{
for($i = 1; $i <= $value; $i++)
{
mysql_query("INSERT INTO `calender` SET `day` = '$i', `month` = '$key'");
}
}
mysql_close($ident);
?>
Недавнее творение.
Нужно было создать базу данных, которая потом будет апдейтиться.