Toon posts:

[ASP] Problemen met Parent Path

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb weer eens een uitdaging hoor :|
Ik heb het volgende probleem, ik ben een applicatie aan het maken in ASP en daarbij maak ik gebruik van <!--#INCLUDE FILE="blabla.asp"--> maar nu staan de asp bestanden een aantal directorys terug in de zelfde virtual directory.

Alleen nu krijg ik de volgende foutmelding:
Active Server Pages error 'ASP 0131'

Disallowed Parent Path

/directory/directory/directory/bestand.asp, line 2

The Include file '../../class.bestand.asp' cannot contain '..' to indicate the parent directory. error '8000d001'
Na enige zoekwerk heb ik gevonden wat nu precies de rede erachter is.
Microsoft Artikel
Got Faq
Nog een site die beschrijft hoe je het uit kan zetten

Maar al deze artikelen verwijzen naar de beveiligingsgevaren en dat soort zaken, maar een echte oplossing wordt niet echt gegeven buiten het uitzetten van het vinkje.

Na enig verder zoekwerk is er wel één manier namelijk <!--#INCLUDE VIRTUAL="/directory/bestand.asp"--> gebruiken. Maar dat heeft onwijs veel nadelen omdat je dan vanaf de virtual directory moet beginnen, en als er dan een server verandering is, zou dit problemen kunnen geven.

Is er een andere manier om dit probleem te verhelpen, zonder daarvoor de Enable Parent Path uit te vinken.
Want dat gaat namelijk niet echt aangezien ik niet de beheerder ben van die server, en de beheerder ook die vink niet weghaalt, tenzij ik met uiterst sterke argumenten aankom zodat hij wel moet.
Want in zijn optiek is het zo dat microsoft het niet voor niets zegt, discussie tegen hem was dus zinloos met zo een vast standpunt.

Heeft iemand dit probleem ondervonden, en al een eventuele oplossing. :+

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 26-05 22:23

NMe

Quia Ego Sic Dico.

Kun je er ook niet op de een of andere manier komen met Server.MapPath("../../enz")?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
NMe84 schreef op 24 maart 2004 @ 10:53:
Kun je er ook niet op de een of andere manier komen met Server.MapPath("../../enz")?
Dat gaat niet als de include boven de daadwerkelijke <%%> asp wordt uitgevoerd.
Server.MapPath("")heb ik wel bij stilgestaan maar heb geen idee hoe ik een slimme manier voor kan schrijven om essentiele bestanden te includen.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 26-05 22:23

NMe

Quia Ego Sic Dico.

ASP:
1
<%="<!--#INCLUDE FILE=""" & Server.MapPath("waar je heen wil") & """-->"%>

Zoiets misschien? Geen idee of het werkt.

[ Voor 29% gewijzigd door NMe op 24-03-2004 11:01 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • syllaz
  • Registratie: Mei 2002
  • Laatst online: 20-04 17:01
Kun je niet beter een virtual directory voor je includes in IIS aanmaken?
Dan heb je dat hele parent paths gedoe niet nodig ;-)

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Nee dat kan niet, includes worden toegevoegd voordat de code wordt geparsed dus een oplossing met Server.MapPath is er niet. Ik zie trouwens niet in waarom een wijziging in hostingomgeving een probleem zou zijn.

Je include 1 bestand waarin de andere includes zitten, dit betekend bij een wijziging van het virtuele pad 1 include wijzigen en dan met een goede texteditor 1 regel wijzigen in alle bestand waar die regel in zit. 5 minuten werk op z'n hoogst.

Je zou natuurlijk ook een nieuwe virtuele map kunnen aanvragen /includes dan kan je die bij een wijziging gewoon meenemen.

Verwijderd

Topicstarter
NMe84 schreef op 24 maart 2004 @ 11:01:
ASP:
1
<%="<!--#INCLUDE FILE=""" & Server.MapPath("waar je heen wil") & """-->"%>

Zoiets misschien? Geen idee of het werkt.
Hahahah geniaal dat was ik even vergeten
Server.MapPath("../../") Mag ook helemaal niet want dat is eigelijk hetzelfde.
Server.MapPath() error 'ASP 0175 : 80004005'

Disallowed Path Characters

/directory/directory/directory/bestand.asp, line 2

The '..' characters are not allowed in the Path parameter for the MapPath method.
syllaz schreef op 24 maart 2004 @ 11:02:
Kun je niet beter een virtual directory voor je includes in IIS aanmaken?
Dan heb je dat hele parent paths gedoe niet nodig ;-)
Niet mogelijk moet ik namelijk weer aanvragen, en is niet een ideale oplossing.
Gert schreef op 24 maart 2004 @ 11:04:
*knip* had ik al gezegd

Je include 1 bestand waarin de andere includes zitten, dit betekend bij een wijziging van het virtuele pad 1 include wijzigen en dan met een goede texteditor 1 regel wijzigen in alle bestand waar die regel in zit. 5 minuten werk op z'n hoogst.

Je zou natuurlijk ook een nieuwe virtuele map kunnen aanvragen /includes dan kan je die bij een wijziging gewoon meenemen.
punt 1: is een goede oplossing, maar toch niet de ideale.
punt 2: is ook toch een workaround, en moet ik weer het bedrijf opbellen, vind ik niet helamaal het systeem. maar het idee zal ik onthouden.

Op dit moment is het dus dood spoor |:(

[ Voor 5% gewijzigd door Verwijderd op 24-03-2004 11:13 ]


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 18-05 15:53

Jaspertje

Max & Milo.. lief

je kan ook gebruik maken van <!-- #includes vitrual="/root/plaats/enz/enz" -->

  • 1liter
  • Registratie: Maart 2004
  • Laatst online: 18-05-2021

1liter

appelsap

Sorry had weer eens niet goed gelezen.

[ Voor 200% gewijzigd door 1liter op 24-03-2004 12:03 ]

1liter


Verwijderd

Topicstarter
Ok probleem niet acceptabel genoeg om op te lossen, daarom gooi ik het maar even over een andere boeg.


In PHP waar ik oorsponkelijk in code heb je de mogelijkheid om een class te extenden. maar nu ik heb zitten zoeken lijkt het wel of dit niet mogelijk is in ASP
maar wel weer in asp.net

voorbeeld

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
effe van php.net gepikt

// base class with member properties and methods
class Vegetable {

   var $edible;
   var $color;

   function Vegetable($edible, $color="green") 
   {
       $this->edible = $edible;
       $this->color = $color;
   }

   function is_edible() 
   {
       return $this->edible;
   }

   function what_color() 
   {
       return $this->color;
   }
   
} // end of class Vegetable

// extends the base class
class Spinach extends Vegetable {

   var $cooked = false;

   function Spinach() 
   {
       $this->Vegetable(true, "green");
   }

   function cook_it() 
   {
       $this->cooked = true;
   }

   function is_cooked() 
   {
       return $this->cooked;
   }
   
} // end of class Spinach



Is dit toevallig ook mogelijk, of stel ik nu echt een hele domme vraag aangezien ik het totaal niet kan vinden hoe het in ASP moet maar niet in ASP.NET want dat gebruik ik niet. :9

  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

Heb je de mogelijke oplossing van Jaspertje al eens geprobeerd?
Dus geen include file, maar een include virtual?

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
TeeDee schreef op 24 maart 2004 @ 12:29:
[...]


Heb je de mogelijke oplossing van Jaspertje al eens geprobeerd?
Dus geen include file, maar een include virtual?
Ja maar ik ben nu aan het kijken of er ook nog andere manieren zijn.
ik heb het namelijk zo gemaak dat ik modules kan gebruiken, deze modules haal ik op door Server.Execute(page) alleen dan moet ik in elke asp bestand dat gebruik maakt van bijvoorbeeld mijn DBaccess class, deze apart includen.

dus nu dacht ik als ik het nou met extended classes maakt, dan is er een mogelijkheid om alle includes via mijn hoofdbestand te laten verlopen, en de rest doormiddel van de classes af te wikkelen.
en dus ook zo het probleem weghaalt met include virtual, maar na wat onderzoek lijkt het wel of ASP deze mogelijkheid helemaal niet heeft. :X

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
VBScript is niet OO. Je kan een klasse maken maar dat is niet veel meer dan een verzameling properties/methodes in iets dat je een object zou kunnen noemen.

Klasses extenden kan niet.

Verwijderd

Topicstarter
Gert schreef op 24 maart 2004 @ 15:57:
VBScript is niet OO. Je kan een klasse maken maar dat is niet veel meer dan een verzameling properties/methodes in iets dat je een object zou kunnen noemen.

Klasses extenden kan niet.
Hoe zit dat dan met vbscript in de vorm van abstract classes, hiermee kan je toch ook relaties maken tussen classes.

ik kan haast niet geloven dat dit niet mogelijkis, want dit is uitermate goed te maken in PHP.


Hier heb ik overegens een klein voorbeeldje gevonden waar dit mogelijk is. alleen is dit C# en volgens mij gaat dat niet goed in asp

Abstract class voorbeeld

Dus nu vraag ik me af, is dit maybe een mogelijkheid, en tot hoever zit er verschil in tussen vbscript .net en de andere rommel van microsoft :?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Je haalt nu echt van alles door elkaar.

ASP 3.0 wordt gebruikt icm Perl, VBSCript of JScript
ASP.Net wordt gebruikt icm C# / VB.Net (en andere .Net talen)

En verder: PHP is niet ASP, dus kijk niet vreemd op dat ASP dingen kan die PHP niet kan en omgekeerd. ASP is trouwens niet eens een taal, maar een platform.

En dat jij er niet mee kan werken maakt het nog geen rommel.

[ Voor 44% gewijzigd door gorgi_19 op 24-03-2004 16:58 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 24 maart 2004 @ 16:57:
Je haalt nu echt van alles door elkaar.

ASP 3.0 wordt gebruikt icm Perl, VBSCript of JScript
ASP.Net wordt gebruikt icm C# / VB.Net (en andere .Net talen)

En verder: PHP is niet ASP, dus kijk niet vreemd op dat ASP dingen kan die PHP niet kan en omgekeerd. ASP is trouwens niet eens een taal, maar een platform.

En dat jij er niet mee kan werken maakt het nog geen rommel.
Hahaha sorry hoor, maar als je je op je tenen getrapt voelt om het feit dat ik het rommel noemt zegt denk ik al genoeg.
Maar die kant wil ik gewoon niet op.

En overegens hoelang denk de dat ik me verdiept heb in ASP, zegt denk ik weer genoeg.

Maar wat ik wel frusterend vind is dat de informatie tussen asp .Net Platforms ;) zo lekker door elkaar worden gehaald op sites. Je ziet soms door de bomen het bos niet meer.

Maar wat ik ook grappig vind is dat je personelijk zo begint te zeiken dat je niet eens de rest hebt gelezen wat ik nou daadwerkelijk vroeg.

Niet te personelijk opvatten hoor, anders kom ik nooit waar ik wil komen.
:P

Maar is er uberhaupt een manier om classes met elkaar te laten communiceren. waardoor er een interactie komt.

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 25 maart 2004 @ 09:46:
Maar wat ik ook grappig vind is dat je personelijk zo begint te zeiken dat je niet eens de rest hebt gelezen wat ik nou daadwerkelijk vroeg.
Zeiken? :?
Ik geef gewoon duidelijk aan dat als je een probleem hebt met taal A, je geen oplossingen moet proberen die werken in taal B. Dat jij dat zeiken noemt is een ander probleem.
En verder; teentjes getrapt? Ach, jij hebt het probleem.. B) Ik maak me er niet druk om hoor.. :)

Een paar posts boven mij wordt verder al aangegeven dat OO nauwelijks wordt ondersteunt in ASP. Abstract classes dus ook niet.
dat je niet eens de rest hebt gelezen wat ik nou daadwerkelijk vroeg.
Integendeel; je deed een bewering die niet waar was, waar ik op reageerde. Dat jij dat offtopic vindt, tsja, had dan die bewering nooit gedaan en als mogelijke oplossing geponeerd.
Maar is er uberhaupt een manier om classes met elkaar te laten communiceren. waardoor er een interactie komt.
Ja, instances maken en die aanroepen.

[ Voor 41% gewijzigd door gorgi_19 op 25-03-2004 09:55 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1