Avatar billede thepope Nybegynder
10. juni 2002 - 11:19 Der er 73 kommentarer

IIS & ASP - Irriterende pop-up vindue

Hej..

Til vores hjemmeside, er der oprette en ASP login side. Meningen er man skal komme direkte ind på ASP side, men vi blive bremset af et password pop-up vindue.

Mappen som indeholder ASP scriptet, er NTFS beskyttet med følgende:

Full Control / Administrators, Creator Owner, Everyone
Change      / IUSR_(Internet Guest Account)
Read          / System

‘Directory Security’ i ‘Virtual Directory’ mappen er sat til ‘Basic Authentication’ plus ‘Allow Anonymous’ hvori password sync er disable.

Hvordan kommer vi direkte ind på siden, uden den irriterende pop-up??

Vores konfiguration: NT4 & IIS 4 SP6a

Venlig hilsen

(”,) ThePope
Avatar billede dk_akj Nybegynder
10. juni 2002 - 11:49 #1
Avatar billede thepope Nybegynder
10. juni 2002 - 12:13 #2
Det minder om den opsætning jeg i forvejen har, søger noget mere konkret.
Avatar billede dk_akj Nybegynder
10. juni 2002 - 12:15 #3
Spørger den om både brugernavn og password ??
Avatar billede thepope Nybegynder
10. juni 2002 - 12:16 #4
Ja, som en normal windows pop-up
Avatar billede dk_akj Nybegynder
10. juni 2002 - 12:19 #5
Hvad med andre html dokumenter er det det samme ??
Ligger login.asp i sin egen folder ??

//akj
Avatar billede thepope Nybegynder
10. juni 2002 - 12:24 #6
Det er det samme med andre html dokumenter, der ligger i samme mappe.

Det er mappens (mappernes) rettigheder jeg tror fejlen ligger i. 

Der er tit problemer mellem IIS og NT.

Login.asp ligger i sin egen mappe.
Avatar billede tmceu Praktikant
10. juni 2002 - 12:28 #7
Har du en anderledes konfiguration på site niveau ? Hvis du eks. kun har Basic authentication på website niveau og de beskrevne rettigheder på et underliggende virtual directory, kan det være problemet.
Avatar billede dk_akj Nybegynder
10. juni 2002 - 12:31 #8
Under Directory security - anonym access klik edit.
Check at den bruger der er angivet der også optræder under NT's user admin.

//akj
Avatar billede thepope Nybegynder
10. juni 2002 - 12:33 #9
Tænker du på ’Default Web Site’ niveauet? Den står til NT Challange/Respons. Jeg har prøvet at ændre ASP mappen til samme, men stadig samme ’fejl’.
Avatar billede thepope Nybegynder
10. juni 2002 - 12:35 #10
Den bruger der er at finde under 'anonymous access' er en default inter user account. kunne ikke forstille mig den skulle have admin rettigheder?!
Avatar billede tmceu Praktikant
10. juni 2002 - 12:37 #11
Ja, hvis det omtalte virtual directory ligger under default website.

Men når jeg lige nærlæser dit spørgsmål, er problemet her: password sync er disable - den går ikke. Hele ideen med anonymous access er, at requests mappes den til en bruger der er specificeret. Da du har fjernet password sync, har IIS ikke password for IUSR_xxx og derfor skal det angives.
Avatar billede dk_akj Nybegynder
10. juni 2002 - 12:38 #12
Nej "han" skal være med i "guest" gruppen.

//akj
Avatar billede tmceu Praktikant
10. juni 2002 - 12:39 #13
Du har fuldstændig ret, den bruger skal ALDRIG have administrative rettigheder, med mindre du vil give alle der falder over din server administrative rettigheder :-)
Avatar billede thepope Nybegynder
10. juni 2002 - 12:42 #14
Vælger jeg at enable password sync i anonymous så opstår denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

/kundedata/header.inc, line 6

På M$’s sider fandt jeg op til flere artikler som foreslår at slå password sync fra.
Avatar billede thepope Nybegynder
10. juni 2002 - 12:44 #15
User_xx er medlem af guest. Nej ikke så smart med admin til alle :)
Avatar billede tmceu Praktikant
10. juni 2002 - 12:46 #16
Den fejl skyldes enten at .mdb filen er åbent i Microsoft Access, med ekslusiv lock eller at du ikke har skriverettigheder til .mdb filen.

Den mest sandsynlige er den sidste.

Du kan også godt slå password sync fra, men så kan du bare ikke køre med anonymous access. I IIS5 hedder feltet "Allow IIS to control password" og det giver måske mere mening end "password sync". Det handler om, hvorvidt IIS kender passwordet på den bruger du mapper anonyme requests til, eller om IIS skal prompte brugeren for det.
Avatar billede tmceu Praktikant
10. juni 2002 - 12:47 #17
Du skriver at IUSR_xxx har change rettigheder til mappen som indeholder ASP scriptet, men den skal også have change rettigheder til .mdb filen/mappen.
Avatar billede dk_akj Nybegynder
10. juni 2002 - 12:57 #18
Er du kommet af med login vinduet nu ??

//akj
Avatar billede thepope Nybegynder
10. juni 2002 - 12:59 #19
IUSR_xxx har change rettigheder til mappen med .mdb filen og mappen med asp koden.
Ved ikke om det er bedst at starte forfra, for at få bedre overblik?
Avatar billede thepope Nybegynder
10. juni 2002 - 13:00 #20
Jeg har prøvet flere varianter med at slå ’password sync’ til og fra. Det virker som om ’fejlen’ er at finde et andet sted. Er næsten overbevist om det  er et rettighedsproblem.
Avatar billede tmceu Praktikant
10. juni 2002 - 13:02 #21
Ikke nødvendigvis, men det kunne være en fordel at organisere dine filer i mapper efter hvilke rettigheder der er nødvendige. Eksempelvis:

/database (change)
/scripts (read + execute scripts only)
/html (read)

fremfor at have bladet alle filerne sammen :-)
Avatar billede dk_akj Nybegynder
10. juni 2002 - 13:11 #22
jeg bruger flg struktur

wwwroot
  site1
    www
      scripts
      html
      images
    db
    log

Det giver en, syntes jeg , god løsning.
//akj
Avatar billede tmceu Praktikant
10. juni 2002 - 14:00 #23
Hvad har du prøvet- og har du stadig problemet ?
Avatar billede thepope Nybegynder
10. juni 2002 - 14:04 #24
Jeg har prøvet at rokere lidt rundt på det, med det resultat at denne fejl kommer:

Provider error '80004005'
Unspecified error
/kundedata/header.inc, line 6

Any ideas?
Avatar billede tmceu Praktikant
10. juni 2002 - 14:05 #25
Du kunne evt. vise os koden :-)
Avatar billede dk_akj Nybegynder
10. juni 2002 - 14:13 #26
Pave -> Jeg vil foreslå at du starter helt fra bunden.
Lav et "hello world" html dokument. Ingen asp java eller lign. men ren HTML og se om det virker/ du kan "se" det i din browser.


//akj
Avatar billede thepope Nybegynder
10. juni 2002 - 14:20 #27
Jeg ved ikke hvor meget af koden som er nødvendig - here goes:

<%@ LCID=1030%>
<% Option Explicit%>
<%response.buffer=true%>
<HTML><HEAD>
<TITLE>XXX - login</TITLE>
<!-- #include file="header.inc" -->
<!-- Minus AutoDato -->
<META NAME="Generator" CONTENT="Stone's WebWriter 3">
</HEAD>
<body bgcolor="#FFFFFF" text="#185242" background="../stuff/sort.gif">
<font face="Arial, Helvetica, sans-serif">
<%
Dim SQL_Kald, MitRecordset
dim pword,bruger,id
id = 0
Session("pwd") = 0
bruger=Replace(Request.Form("brugernavn"),"'","" )
pword=Replace(Request.Form("password"),"'","" )
id=request.queryString("vindue")

'nulstil loginAntal første gang man forsøger login
if request.queryString("fundet")= "" and id = "" then
if session("loginAntal") < 1 then
session("loginAntal") = 0
end if
end if

'hent evt. variablen 'fundet', som er sat på ved redirect

if request.queryString("fundet")="fejl1" then
  response.write "<FONT COLOR=""Red""><h3>Det indtastede brugernavn eksisterer ikke</h3></FONT><P>"
id = 0
  end if

if request.queryString("fundet")="fejl2" then
  response.write "<FONT COLOR=""Red""><h3>Det indtastede password er forkert</h3></FONT><P>"
id = 0
  end if

if request.queryString("fundet")="fejl" then
  response.write "<FONT COLOR=""Red""><h3>Der er opstået en fejl - kontakt Millward Brown</h3></FONT><P>"
id = 0
  end if
if session("loginAntal") = 3 then
response.redirect("loginFejl.htm")
end if
'Hvis brugeren har ønsket at logge på
If id = 1 then

SQL_Kald="SELECT * FROM Bruger Where usrnavn like '"&bruger&"'"

'Erklær og opret MitRecordset

Set MitRecordset=Server.CreateObject("ADODB.Recordset")

'Jeg åbner min db med cursor Static, så jeg kan få et tal på, hvor mange record, der læses til mit recordsset.

MitRecordset.open SQL_Kald,MinForbindelse,3                                   
'Hvis der ikke findes nogle match på det indtastede password og brugernavn - returner 'og skriv fejlmeddelelse

If MitRecordset.recordcount = 0 then
'Brugernavnet eksisterer ikke - luk databasen og returner med en fejl
' Luk recordsettet
MitRecordset.Close
   
' Afslut med frigørelse af objektet MitRecordSet
set MitRecordset = Nothing

' Luk forbindelsen
MinForbindelse.Close

' Afslut med frigørelse af objektet MinForbindelse
set MinForbindelse = Nothing
session("loginAntal")=session("loginAntal") + 1
response.redirect("login.asp?fundet=fejl1")
End if

If MitRecordset.recordcount = 1 then
if pword = mitrecordset("usrpwd") then
Session("pwd") = "on"
Session("usr") = mitrecordset("usrnavn")
'her opsættes menuen for den besøgende
%>
<table border="0" width="100%">
<tr>
<td width="30%">
<td width="30%">
<img src="dandy.gif">
<td width="30%">
</tr>
</table>
<br>
<table border="0" width="100%">
<tr>
<td width="100%">
<p align="center"><font face="Arial, Helvetica, sans-serif" size="6"><b>Dandy ATP<font size="6" face="Arial, Helvetica, sans-serif">™</font><font face="Arial, Helvetica, sans-serif"> </font></p>
</td>
</tr>
Avatar billede thepope Nybegynder
10. juni 2002 - 14:21 #28
Header.inc filen:

<!-- Minus AutoDato -->
<%
Dim minForbindelse
  Set minForbindelse = Server.CreateObject("ADODB.Connection")
minForbindelse.ConnectionTimeout = 20
minForbindelse.open "DBQ=E:\Apps\Brugere\brugere.mdb;DefaultDir=E:\Apps\Brugere;Driver={Microsoft Access Driver (*.mdb)}"
%>
Avatar billede tmceu Praktikant
10. juni 2002 - 14:25 #29
Og hvilke rettigheder har IUSR_xxx på den folder ? Og findes den stadig efter du har omrokeret ? Og hvordan er indstillingen pt. for password sync ?
Avatar billede thepope Nybegynder
10. juni 2002 - 14:31 #30
IUSR_xxx har change rettighed på mappen.
Password sync er stadig disable.
Avatar billede dk_akj Nybegynder
10. juni 2002 - 14:40 #31
Jeg vil give tmceu ret i at Password sync bør være enabled = afbrydset.

//akj
Avatar billede thepope Nybegynder
10. juni 2002 - 14:49 #32
Enable password sync giver:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

/kundedata/header.inc, line 6

Diable password sync giver:

Provider error '80004005'

Unspecified error

/kundedata/header.inc, line 6
Avatar billede dk_akj Nybegynder
10. juni 2002 - 14:52 #33
Har du access åbnet ??

Der kan kun svjv være en åben connection til en access db
Avatar billede dk_akj Nybegynder
10. juni 2002 - 14:53 #34
Har du prøvet om du kan se et plain html dokument ??

//akj
Avatar billede thepope Nybegynder
10. juni 2002 - 14:57 #35
Access er ikke åbnet. Og det virker med et plain html dokument...
Avatar billede tmceu Praktikant
10. juni 2002 - 14:59 #36
Den fejl du får nu - og jeg antager at du ikke har fået nogen login prompt - som jeg skrev tidligere, at filen enten er åbnet i Access eller at IUSR_ikke har skriverettigheder til .mdb filen.
Avatar billede dk_akj Nybegynder
10. juni 2002 - 15:02 #37
Fint. Så er vi altså ude over problematikken med login vinduet ??

Har du oprettet odbc'en som system dsn ?? eller kører du dsn-less

dette er min connect.asp som jeg includerer når jeg skal bruge en connection
<!-- Connect start -->
<%
dim conn, strDSN
Set Conn = Server.Createobject("ADODB.Connection")

'--- Database forbindelse ---
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " &_
"DBQ=" & Server.Mappath("db/data.mdb") & "; password=test"
Conn.Open strDSN
%>
<!-- Connect slut -->

//akj
Avatar billede thepope Nybegynder
10. juni 2002 - 15:06 #38
Ja.. sorry vi er ude over login vinduet! :)
IUSR_ har change rettighed til mappen og mdb filen. Det skulle være nok ikke?
Avatar billede tmceu Praktikant
10. juni 2002 - 15:08 #39
Nu kan jeg ikke huske om man kan give skriveadgang alene, men den brokker sig jo faktisk og læseadgang. Det har den også eller ?
Avatar billede dk_akj Nybegynder
10. juni 2002 - 15:09 #40
Prøv lige, i controlpanelet at starte "server" og se om der er nogen der har filen åben ??

Evt. en genstart af maskinen hvis det er muligt. Har på fornemmeren at det er en af de der "mystiske" fejl der pludseligt er væk.

//akj
Avatar billede thepope Nybegynder
10. juni 2002 - 15:16 #41
Jeg har en Access ODBC driver i både User DNS og Server DNS. Skulle det ikke være tilstrækkeligt?

Man kan godt sætte enkelte rettigheder på mapper såvel som filer, men change indeholde RWXD, det burde være okay - men hvorfor brokker den sig så?! :)

Filer er ikke i brug PT. Desværre kan jeg ikke genstarte da en masse mennesker arbejder på serveren.. men kan teste det senere i aften.
Avatar billede tmceu Praktikant
10. juni 2002 - 15:24 #42
Den skrive faktisk også noget om "unknown". Hvis du bruger DSN og evt. har flyttet filen, har du så opdateret din DSN også ?
Avatar billede thepope Nybegynder
10. juni 2002 - 15:32 #43
DNS er blevet opdateret. Tror i ikke det bedste ville være at vente til efter en genstart?
Avatar billede dk_akj Nybegynder
10. juni 2002 - 16:49 #44
Jeg tror ikke det er godt at have 2 dsn'er, jeg vil mene du skal slette userdsn'en

Nu kan jeg ikke lige huske hvordan det er med NT4 men er der ikke en "test connection" knap under configuration af dsn ??
Hvis du har den så prøv lige at se om du kan connecte derfra.

//akj
Avatar billede thepope Nybegynder
12. juni 2002 - 11:45 #45
Først prøvede jeg en genstart, intet held!

Så har jeg prøvet begge løsninger uafhængig af hinanden -
'Access .mdb' i userdns og system dns, stadig held!

Har prøvet at give IUSR_xxx admin rettigheder på .mdb filen, intet held!

Hvad skal der til for at det kan komme til at virke?
Avatar billede thepope Nybegynder
12. juni 2002 - 11:47 #46
Det er stadig denne fejl jeg får:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

/kundedata/header.inc, line 6
Avatar billede dk_akj Nybegynder
12. juni 2002 - 12:41 #47
Har du prøvet "test" knappen i odbc setup ??

//akj
Avatar billede thepope Nybegynder
12. juni 2002 - 12:47 #48
Jeg har ikke kunne finde
Avatar billede thepope Nybegynder
12. juni 2002 - 12:48 #49
Jeg har ikke kunne finde en test knap. Er du sikker på den findes under ODBC i kontrol panelet / NT4 ?
Avatar billede dk_akj Nybegynder
12. juni 2002 - 12:53 #50
Nææh jeg er ikke sikker.

Det undrer mig meget at den siger unknown i .........cannot open the file '(unknown)'. ........

Er din DSN/ODBC sat rigtigt op ??

//akj
Avatar billede thepope Nybegynder
12. juni 2002 - 13:00 #51
Det skal jeg ikke kunne garantere. Hvordan sikre jeg mig det er sat rigtigt op?
Avatar billede thepope Nybegynder
12. juni 2002 - 13:08 #52
Findes der et tool/util der kan kigge min DNS/ODBC efter i hjørnet?
Avatar billede thepope Nybegynder
12. juni 2002 - 13:36 #53
Hvordan skal nedeståenden forståes?
http://www.15seconds.com/faq/ODBC/736.htm

Hvor er det lige man kigger efter 'Design View' i MSAccess?
Avatar billede thepope Nybegynder
12. juni 2002 - 13:44 #54
Hvis jeg nu disabler 'password sync' fra anonymous access, så dukker det velkendte pop-up vindue frem. Indtaster jeg mit user/pass (admin) kommer jeg direkte videre til den rigtige ASP login side.

Kan man ikke konkludere noget ud fra det?
Avatar billede dk_akj Nybegynder
12. juni 2002 - 15:35 #55
Absolut, så ER det noget med at inetuser ikke har de fornødne rettigheder.
Altså er ODBC/DSN ok og filen er ikke låst.

//akj
Avatar billede dk_akj Nybegynder
12. juni 2002 - 15:36 #56
This can happen if the .MDB being referenced is open in Design View in MSAccess. =
Filen er åbenet i Access.

//akj
Avatar billede thepope Nybegynder
12. juni 2002 - 15:47 #57
filen er pt. ikke åben, men fejlen kommer stadig!?
Avatar billede tmceu Praktikant
12. juni 2002 - 18:22 #58
Da filen ikke er åben, så lad os få bevist en gang for alle, at det er et sikkerhedsproblem. Gå ind i IIS admin og skift den bruger som IIS anvender til anonymos access. Vælg en bruger med administrative rettigheder, typisk Administrator lokalt på serveren.

Selv om det ikke burde være nødvendig, luk for en sikkerheds skyld alle browser vinduer, genstart IIS og forsøg igen. Nu skal det bare virke. Når (ikke hvis :-) det virker, har du bevist at det er et sikkerhedsproblem på IUSR_xxx, ergo denne kan ikke have fået de rigtige rettigheder.
Avatar billede thepope Nybegynder
12. juni 2002 - 22:10 #59
Vil det skuffe nogen hvis jeg sagde jeg allerede havde prøvet med admin i anonymous, og dette gav IKKE succes! Nu tro jeg bare.. jeg tager en lur - jeg vender tilbage skulle der være nyt i sagen i morgen. Tak for al hjælpen... so far :)
Avatar billede thepope Nybegynder
12. juni 2002 - 22:15 #60
OKIE OKIE.. en genstart af serveren skulle der simpelthen til før det virkede!! :) Er sagen nu den jeg opretter en ny bruger med change rettigheder til brug af anonymous access?
Avatar billede thepope Nybegynder
12. juni 2002 - 22:29 #61
OKIE OKIE OKIE.. vender tilbage i morgen. Ny bruger med change rettigheder virker nu hellere ikke :(
Avatar billede dk_akj Nybegynder
13. juni 2002 - 07:37 #62
Endnu et forslag.
Prøv, midlertidigt, at tilføje IUSR_xxx til administrator gruppen´

//akj

Ps: Du er godt nok tålmodelig, mange havde sparket serveren helt ud i stratosfæren på nuværende tidspunkt ;o)
Avatar billede tmceu Praktikant
13. juni 2002 - 09:37 #63
Hvor tildeler du change rettigheder, i IIS eller i filsystemet ?
Avatar billede thepope Nybegynder
13. juni 2002 - 11:25 #64
Hej..

Det virker når en hvilken som helst bruger er medlem af administrators - men er der ikke forbundet noget sikkerhedsmæssigt fy med den løsning?

Tålmodighed er desværre en nødvendighed, når en løsning skal findes! - Ellers var sparket kommet for længe siden :)

Når jeg tildeler rettigheder så foregår det fysisk på NTFS mapperne. Dem der indeholder .mdb filen og ASP scriptet.
Avatar billede dk_akj Nybegynder
13. juni 2002 - 11:37 #65
Hvis du bare har domain/administrators og en lokal administrator i administratorgruppen, virker det så ??

Jeg mener ikke ar det skulle udgøre en sikkerhedsrisiko.

//akj
Avatar billede tmceu Praktikant
13. juni 2002 - 11:45 #66
Det udgør altid en væsentlig sikkerhedsrisiko at mappe anoymous access til en bruger med administrative rettigheder. Hackerne har i forvejen en masse muligheder for at overtage en IIS server, der er ingen grund til at gøre det nemmere for dem.

Du skrev tidligere, at der skulle en gestart til, før det virkede ?
- har du prøvet at genstarte efter at du har givet IUSR_xxx change rettigheder ?
Avatar billede dk_akj Nybegynder
13. juni 2002 - 11:49 #67
Er helt enig med tmceu i at der ikke skal være adgang for nogen med anoymous access til admin gruppen. Forstod bare på thepope at det virkede bare der var "nogle" i admin gruppen.

//akj
Avatar billede thepope Nybegynder
13. juni 2002 - 12:17 #68
Jeg har prøvet virkelig mange kombinationer. Også hvor IUSR_xx får change rettigheder og der genstartes - det virkede ikke!

Det virker når jeg opretter en ny bruger, knytter ham til admins.
Avatar billede dk_akj Nybegynder
13. juni 2002 - 12:21 #69
PÅ min maskine er IUSR_xx medlem af guest gruppen.

//akj
Avatar billede tmceu Praktikant
13. juni 2002 - 12:30 #70
Hvis du går ned i filsystemet, vælger .mdb filen og kigger på rettigheder, hvilke rettigheder har IUSR_xxx der ?

Det lyder som om det ikke slår igennem til filniveau. Kan ikke huske om der er noget med nedarvning, der virker anderledes i NT4 vs. W2K.
Avatar billede thepope Nybegynder
13. juni 2002 - 12:49 #71
IUSR_xxx er medlem af gæst.

IUSR_xxx har change rettigheder på mappen og mdb filen.
Avatar billede tmceu Praktikant
13. juni 2002 - 13:21 #72
Vi er ude i noget underligt noget her, så prøv lige at give IUSR_xxx write rettigheder på folderen i IIS admin også.
Avatar billede tmceu Praktikant
21. juni 2002 - 00:55 #73
Hvordan går det? Har du besluttet blot at give alle adgang til alt eller? :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester