Что за значение?

Статус
В этой теме нельзя размещать новые ответы.
ну так для этого и нужно добавить в обработку интерпретатором, что бы обрабатывался как PHP файл.
Согласен, идеально что бы было file.inc.php
но зачастую это тяжелее.
а
Потому что если файл тупо инклудится, то с удаленного сервера можно провести атаку и записать на хост шелл.
тут не причем
 
Почему не рекомендуешь?

Инклуд файлы на то и инклуд, чтоб подключаться, а не исполнятся самостоятельно. Особенно, если опыта в кодинге не много, можно сделать такой инклюд, который будет исполнятся не учитывая других параметров.

Например:
Есть файл upload.inc (понятно, что он будет делать да? -)
Есть файл deny_files.inc (тут массив запрещенных для загрузки файлов)

оба они подключаются в index.php по очереди.
Ну вот и представь, если у тебя аплоад будет возможен без
проверки на тип файла... думаю дальше сам поймешь -)

ЗЫ: пример конечно уж совсем тупой, но это так, первое че в голову пришло )

Добавлено через 9 минут
Согласен, идеально что бы было file.inc.php
но зачастую это тяжелее.
Чем это тяжелее? ))
Кроме того, уясни одну весч!!!
Файли никогда не должны инклюдится через $_GET или $_POST или как-то иначе.
Все файлы которые ты инклюдишь нада прописывать в коде жестко и однозначно, пользователь ни каким образом не должен как-то влият на имя подключаемого файла.
 
Чем это тяжелее? ))
Кроме того, уясни одну весч!!!
Файли никогда не должны инклюдится через $_GET или $_POST или как-то иначе.
Все файлы которые ты инклюдишь нада прописывать в коде жестко и однозначно, пользователь ни каким образом не должен как-то влият на имя подключаемого файла.
Ты сначала топик почитай, умник, у человека скрипт, в котором присутствует этот файл. Тяжелее тем что, возможно он используется не один и инклюдится, поэтому оптимальный выход это обрабатывать его интерпретатором.
А все то что ты написал выше к этому не имеет значение.

Добавлено через 4 минуты
Я худею, дорогая редакция...
народ, не мешайте мух с котлетами
обсуждение идет топика автора, а не то что можно или нельзя.
Причем тут инклюдить файлы через $_GET?
в какую кашу вы все полезли?
инклюд файлов через $_GET это старое и пошлое занятие
и если у кого еще встречается такой подход то тут просто нужно сделать
$pages = array(имена файлов для инклюда);
и проверять.
Это для того что бы не переделывать всю логику.
А у автора топика другая проблема.
 
Согласен, не туда полез, почитал посты admLoki выше, наверно это повлияло -)

инклюд файлов через $_GET это старое и пошлое занятие
На самом деле, довольно часто встречается еще. Не полсонстью имя файла например, а без расширения или еще как-то, но суть в том, что можно манипулировать инклудом.

По-поводу проблеммы автора, да, можно сделать и алиас на исполнение .inc но тогда нужно следить чтоб юзеры не могли запускать эти файлы отдельно. Например, пихать в папки с ними .htacsess

Код:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName DenyViaWeb
AuthType Basic


<Limit GET>
order allow,deny
deny from all
</Limit>

Ну способов масса...

Особенно это касается, когда ставишь чужие решения не особо грамотных кодеров, всякие наколенке сделанные скриптики -)

З.Ы. Не кипятись так, все, бывает, ошибаются -)
 
Да, сорри =)
Просто зачастую, делая аудит некоторых сайтов, поражаешься КАК иногда делают. =(
Особенно сайты работающие с платежными системами.

Зачастую делают малоопытные (прочитав пару книг) люди.
Заказчики идут по пути экономии, а получается потом переделка дороже стоит.
В принципе это нормальны процесс и для всех есть работа. =)

Согласен, по части кода, который указывают в топике, очень сложно рассуждать что там ЕЩЕ НЕ так.
 
Вход в раздел по умолчанию с заданным паролем.
 
Вот есть код страницы входа в систему.
PHP:
<?
// если psw не задана
if($psw=="")
{
    // ... даем ей дефольное значение
    $psw="5852346fhgjdkh858";
}
else{
    // иначе - отправляем на setup 
    include "setup.php";
}
session_start();
// проверка того что отправилось с формы
if(isset($submit) )
{
    // выбирается инфа по имени пользователя из базы
    $result=mysql_query("select * from users where login='$log'");
    $row=mysql_fetch_array($result);
    // в pass запоминаем поле pasw из базы!
    $pasw=$row["pass"];
}
if($pasw==$psw){
    // если пароль из базы равен дефолтному значению - запоминаем имя пользователя 
    $HTTP_SESSION_VARS['l']=$log; 
    $HTTP_SESSION_VARS['p']=$psw;
    // и отправляем на index.php
?>
<script>
 location.href="index.php" ;
</script>
<?
}
else
print "<br><img src='img/error.gif' border='0'><br><b>Ошибка! Неверный логин или пароль !!!</b>";
// иначе говорим что все плохо.

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