Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Не работают скрипты PHP на сервере

Сообщения:  [1-10]   [11-15] 

 
 автор: Cergio777   (03.08.2005 в 00:51)   письмо автору
 
   для: Киналь   (02.08.2005 в 09:38)
 

<?php


global $prefix, $db;
$ip = $_SERVER["REMOTE_ADDR"];

if (!stristr($ip, "127.0.0.1") && !stristr($ip, "82.211.") && !stristr($ip, "192.168.207.30") && !stristr($ip, "195.12.30."))
{
Header ("Location: index.php");
die();
}

?>

:)))))) Даже мне стало понятно, что это запрет по айпи ) Большое спасибо, осталось только вписать свой. Хотелось бы узнать, как можно грамотно его добавить 8-(

   
 
 автор: Киналь   (02.08.2005 в 09:38)   письмо автору
 
   для: Cergio777   (02.08.2005 в 00:59)
 

Здесь, вроде бы. нигде нет именно перекидывания на index.php. Есть только

f($aid AND (!isset($admin) OR empty($admin)) AND $op!='login') {
unset($aid);
unset($admin);
echo "Access denied";
die();
}

Должна появиться просто надпись Access denied. Возможно. такое перекидывание имеется в файле ./includes/ipbanadm.php. Там же определяется переменная $admin, которая и определяет. пускать вас в админку или нет=), а также переменные $aid и $op, которые тоже влияют на доступ. ($op - это, наверное, GET-параметр). Давайте теперь ./includes/ipbanadm.php ;-) Или посмотрите его сами. Загвоздка. скорее всего, там.

   
 
 автор: Cergio777   (02.08.2005 в 00:59)   письмо автору
 
   для: Гость   (01.08.2005 в 14:46)
 

выкладываю ниже первые 50 строк файлa admin.php :

<?php

@include("./includes/ipbanadm.php");

define('ADMIN_FILE', true);
if($aid AND (!isset($admin) OR empty($admin)) AND $op!='login') {
unset($aid);
unset($admin);
echo "Access denied";
die();
}

@require_once("mainfile.php");

$checkurl = $_SERVER['REQUEST_URI'];
if((stripos_clone($_SERVER["QUERY_STRING"],'AddAuthor')) || (stripos_clone($_SERVER["QUERY_STRING"],'VXBkYXRlQXV0aG9y')) || (stripos_clone($_SERVER["QUERY_STRING"],'QWRkQXV0aG9y')) || (stripos_clone($_SERVER["QUERY_STRING"],'UpdateAuthor')) || (preg_match("/\?admin/", "$checkurl")) || (preg_match("/\&admin/", "$checkurl"))) {
die("Illegal Operation");
}
get_lang(admin);

function create_first($name, $url, $email, $pwd, $user_new) {
global $prefix, $db, $user_prefix;
$first = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_authors"));
if ($first == 0) {
$pwd = md5($pwd);
$the_adm = "God";
$db->sql_query("INSERT INTO ".$prefix."_authors VALUES ('$name', '$the_adm', '$url', '$email', '$pwd', '0', '1', '')");
if ($user_new == 1) {
$user_regdate = date("M d, Y");
$user_avatar = "gallery/blank.gif";
$commentlimit = 4096;
if ($url == "http://") { $url = ""; }
$db->sql_query("INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_website, user_avatar, user_regdate, user_password, theme, commentmax, user_level, user_lang, user_dateformat) VALUES (NULL,'$name','$email','$url','$user_avatar','$user_regdate','$pwd','$Default_Theme','$commentlimit', '2', 'russian','D M d, Y g:i a')");
}
login();
}
}

global $admin_file;
$the_first = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_authors"));
if ($the_first == 0) {
if (!$name) {
@include("header_adm.php");
title("$sitename: "._ADMINISTRATION."");
OpenTable();
echo "<center><b>"._NOADMINYET."</b></center><br><br>"
."<form action=\"".$admin_file.".php\" method=\"post\">"
."<table border=\"0\">"
."<tr><td><b>"._NICKNAME.":</b></td><td><input type=\"text\" name=\"name\" size=\"30\" maxlength=\"25\"></td></tr>"
."<tr><td><b>"._HOMEPAGE.":</b></td><td><input type=\"text\" name=\"url\" size=\"30\" maxlength=\"255\" value=\"http://\"></td></tr>"
."<tr><td><b>"._EMAIL.":</b></td><td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"255\"></td></tr>"
."<tr><td><b>"._PASSWORD.":</b></td><td><input type=\"password\" name=\"pwd\" size=\"11\" maxlength=\"10\"></td></tr>"
."<tr><td colspan=\"2\">"._CREATEUSERDATA." <input type=\"radio\" name=\"user_new\" value=\"1\" checked>"._YES."&nbsp;&nbsp;<input type=\"radio\" name=\"user_new\" value=\"0\">"._NO."</td></tr>"
."<tr><td><input type=\"hidden\" name=\"fop\" value=\"create_first\">"
."<input type=\"submit\" value=\""._SUBMIT."\">"
."</td></tr></table></form>";
CloseTable();
@include("footer_adm.php");
}
switch($fop) {
case "create_first":
create_first($name, $url, $email, $pwd, $user_new);
break;
}
die();


ВСЕГО В КОДЕ 554 СТРОКИ!

   
 
 автор: Гость   (01.08.2005 в 14:46)   письмо автору
 
   для: Cergio777   (31.07.2005 в 23:44)
 

Выложи примерно 50 первых строк файла admin.php... наверника в них будет видо проблему

   
 
 автор: JC_Piligrim   (01.08.2005 в 13:57)   письмо автору
 
   для: Cergio777   (31.07.2005 в 23:44)
 

У меня, когда начинал изучать PHP, и сразу стал ковырять Нюку, тоже были такие глюки. Проблема, насколько помню, заключалась в запрете сохранения cookie файерволом. Дома файервол стоит?

   
 
 автор: Cergio777   (31.07.2005 в 23:44)   письмо автору
 
   для: Cergio777   (31.07.2005 в 23:42)
 

Могу высказать свои предположения, насчёт выкидывания на индекс. Возможно стоит запрет по айпи или куки записан только на один комп. С работы я могу запросто заходить, а с домашнего - *... Если это так - то как разрешить спор мирным путём ?

   
 
 автор: Cergio777   (31.07.2005 в 23:42)   письмо автору
 
   для: Alex.W   (31.07.2005 в 23:26)
 

Сделал, как ты сказал, но пока всё ещё далёк от результата. К сожалению я ничерта не понимаю в этих функциях. Единственное, что я заметил, так это то, что включил регистр_глобал. Посмотри на файл конфы, может это ключ для решения проблемы. В админке ничего похожего не нашёл, возможно просто невнимательно смотрел или там "синоним"

   
 
 автор: Alex.W   (31.07.2005 в 23:26)   письмо автору
 
   для: Cergio777   (31.07.2005 в 20:31)
 

1. Ну сначала, наверное посмотри phpinfo твоегшо хостера, что у него там и по чем, т.е. создай новый файлик например phpinfo.php В него вставь вот этот код:
<?
phpinfo();
?>
загрузи его куда нибудь на сервер и запусти этот файлик через браузер и ты получишь всю инфу относительно сервера твоего хостера и настроек php т.к. без этих результатов, что то трудно тебе советовать

   
 
 автор: Киналь   (31.07.2005 в 21:58)   письмо автору
 
   для: Cergio777   (31.07.2005 в 20:31)
 

Почитайте admin.php. Там либо есть комментарии, либо что-то типа

if ( ...  )
   die("<meta http-equiv=refresh content='index.php'>");
//или
   Header("index.php");

Посмотрите. что написано в скобках. Там причина выкидывания=)

   
 
 автор: Cergio777   (31.07.2005 в 20:31)   письмо автору
 
   для: cheops   (31.07.2005 в 11:58)
 

Сенкью, теперь я стал на один шаг ближе к профессионалам. НО есть ещё один вопрос : как сделать так, чтобы когда я заходил в систему админки (admin.php) меня не перекидывало на index.php ?

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования