На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Как сделать доступ к PHP странице после логина на aspx странице? , Проблема то ли доступа к php, толи редиректинга,..
    Как сделать доступ к PHP странице после логина на aspx странице?

    Сделал систему аутентификации и авторизации через логин для защиты админки, лежащей в папке /admin, находящейся по адресу Default Web Site\cite\admin

    Создал виртуальный каталог папки /admin и назвал /madmin, преобразовал в приложение.

    Внутри папки /admin находятся:
    1) LoginAcc.aspx логин форма с вводом логина и пароля и кнопва Вход
    2) Default.aspx основная админская страничка со ссылками на php файлы для работы с sql сервером админки сервака с кнопкой выхода и заново редиректится на логин форму.
    3) эти php файлы тоже в этой папке штук 6
    4) и конфиг файл web.config.
    5) пароли шифруются в xml файл на диске C отдельно.

    В браузуере логинюсь на админку по адресу - http://IP/cite/madmin/ ,итоговая ссылка генерится такая - http://IP/cite/madmin/LoginAcc.aspx?Return...2fcite%2fmadmin

    web.config настроена след образом:

    ExpandedWrap disabled
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration>
      <system.web>
          <authorization>
              <deny users="?"/>
          </authorization>
          <authentication mode="Forms">
              <forms name="AdminCite"
                        loginUrl="LoginAcc.aspx"
                    protection="All"
                        timeout="1"
                    path="/"/>
          </authentication>
      </system.web>
        
          <system.webServer>
              <modules>
                  <remove name="FormsAuthentication"/>
                  <add name="FormsAuthentication"
                      type="System.Web.Security.FormsAuthenticationModule"
                      preCondition=""/>
              </modules>
          </system.webServer>
      </configuration>


    Почитав уроки:
    Поскольку аутентификация с помощью форм реализована в виде HTTP-модуля ASP.NET, ее можно использовать для любого веб-приложения и виртуального каталога, сконфигурированного в IIS, который функционирует в интегрированном режиме. Это значит, что аутентификацию с помощью форм можно применять вместе с приложениями других типов, такими как статические HTML-сайты, классические приложения ASP или даже приложения PHP. Все, что потребуется сделать - это настроить веб-приложение как виртуальный каталог и затем сконфигурировать аутентификацию с помощью форм через консоль управления IIS 8. Это автоматически добавит к приложению конфигурацию web.config.
    Открыв средство конфигурации HTTP Modules, найдите FormsAuthentication и дважды щелкните на нем или выберите ссылку Edit (Правка) в панели задач справа. В открывшемся диалоговом окне снимите отметку с флажка Invoke Only for Requests to ASP.NET Applications or Managed Handlers (Вызывать только для запросов к приложениям ASP.NET или управляемым обработчикам),
    Invoke Only for Requests to ASP.NET Applications or Managed Handlers (Вызывать только для запросов к приложениям ASP.NET или управляемым обработчикам).
    - добавил след код в web.config:
    ExpandedWrap disabled
            
              <modules>
                  <remove name="FormsAuthentication"/>
                  <add name="FormsAuthentication"
                      type="System.Web.Security.FormsAuthenticationModule"
                      preCondition=""/>
              </modules>


    При логине всё отлично проверяется и редиректится на дефолт.aspx.
    Но почему-то при ссылке на php файл уже открывается чистая белая страница без содержимого - http://IP/cite/madmin/db_main.php
    Видимо как-то запрещается php-содержимое или выполнение его кода? Не понятно.
    И даже если напрямую ссылку в браузере писать - http://IP/cite/madmin/db_main.php ,тоже открывается чистая страница, хотя без аутентификации по прямым ссылкам на любой файл из папки admin должен быть запрет и редирект на Логин форму.
    Что-то не так с запретами, разрешениями.. не пойму.
    Как настроить работу ASP.NET не только с .aspx файлами но и с .php?
    Как решить проблему?
      А собственно PHP ISAPI фильтр в IIS включен?
        Цитата Relaxander @
        А собственно PHP ISAPI фильтр в IIS включен?

        В общем сейчас показываются php, но даже по прямым ссылкам без логина. почему то deny ? не срабатывает на .php видимо.
        mime тип добавил вроде.
        скачал php5isapi.dll , врубил как вот тут описано - http://devilqw.wordpress.com/2010/10/14/ка...08-iis-7-5-x64/
        теперь пишет даже с логином - 403 - запрещено. Доступ запрещен.
        Предоставленные учетные данные не дают права на просмотр этого каталога или страницы. )))
        Сообщение отредактировано: maxnemo -
          в общем прочел что в FastCGI уже включена фильтрация..
          всё равно <deny users="?"/> запрещает только исполнению .aspx файлам, а .php проходят и выполняются :(
            Цитата maxnemo @
            всё равно <deny users="?"/> запрещает только исполнению .aspx файлам, а .php проходят и выполняются

            А через web.config разве нельзя закрыть?
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0220 ]   [ 17 queries used ]   [ Generated: 26.04.24, 06:59 GMT ]