Toon posts:

[ASP] ASP code uit database

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoi mede scripters.

Nou had ik een aardig idee, ok niet nieuw maar toch.
Men neme 1 mainpage met 2 blanko velden ( resp. <%=Topinfo%> / <%=LowerInfo%> ).

die op commando informatie uit een database bestand haalt.
De commandos komen uit de navigatie in de vorm van een QueryString
dus :

Mainpage.asp?Selection=Login , Mainpage.asp?Selection=Webinformation.
Informatie wordt op gehaaldt en weergegeven.

Topinfo = DTB("TOPinfo").Value
LowerInfo = DTB("LowerInfo").Value

Wanneer deze code in de database HTML is , is er geen enkel probeem
Zoals bedacht en geedit komt deze info op het scherm
( met layout en kleur codes )

Het probleem duikt op wanneer de code in de database ASP code bevat.
Deze code wordt compleet genegeerd en dus ook niet uit gevoerd.

Ik vraag geen codes, scripts of een complete listing.
Maar wie kent dit probleem en hoe pak ik dit aan ?

Ik heb ook al geprobeerd de code direct op het scherm te krijgen door in de velden
<% DTB("naam").Value %> in te voeren , maar het blijft nada.
ook gesnuffelt bij ASP101 , ASPin en google , maar helaas niets kunnen vinden hier over.

Wie kan me op weg helpen ???
Bedankt

[ Voor 4% gewijzigd door Verwijderd op 04-12-2003 20:42 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Erhm... samengevat: Je wilt dus de asp-code, welke in de database staat, uitvoeren?

Afgezien van securityproblematiek:

eval()

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Dat is correct , het zijn geen zware beslastende scripts die je info bloot leggen maar meer een horde variablen en dergelijke .

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 04 december 2003 @ 20:52:
Dat is correct , het zijn geen zware beslastende scripts die je info bloot leggen maar meer een horde variablen en dergelijke .
In dat geval dus eval() gebruiken; anders een eigen interpreter schrijven... :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Toch vindt ik het persoonlijk raar dat HTML wel uit gevoerd wordt , en ASP code niet.
Het zijn bedie een code die aan de server side , tussen gevoegt worden.

Aan Eval , heb ik zeer weing , moet ik zeggen , ik wil een hele bubs met variable in een keer inladen zodat zij een worden met de website.
Deze variabelen worden na gebruik weer los gelaten.

Echter ben ik op een punt gekomen waar ook opties als een database stream geopend moet worden , dit loopt al helemaal niet met eval()

Zijn er nog andere opties , waar mee , de ASP data , ongeschonden op gehaald kan worden ?

Of is de oplossing zo belagglijk eenvoudig dat ik veel te moeielijk denk ?

--- EDIT-------

De mogelijk tot het opslaan als Long Binairy Code heb ik niet , dit omdat de server dit niet ondersteunt dan wel toelaat

[ Voor 10% gewijzigd door Verwijderd op 04-12-2003 22:55 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

HTML code wordt niet uitgevoerd op de server, die wordt gewoon naar de client gepompt en die ziet maar wat ie ermee doet. ASP code wordt wel op de server uitgevoerd, dus als je dat naar de client pompt, dan weet de browser dus niet wat ie ermee aan moet.

Dus nu dat misverstand is verholpen, een suggestie:
Plaats de code uit de database in een tijdelijk .asp bestand en voeg aan het einde daarvan toe een functie-aanroep waarmee ie zichzelf verwijdert (als je dat wilt).

Veel mooier is om zelf tags te maken voor die horde variabelen van je. Een tag als [var name="blaat"] is makkelijk te replacen met de RegExp class. Dit geeft ook geen/minder security risk, en geen exposure van je code in de velden in de database.

日本!🎌


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 04 december 2003 @ 22:52:
Toch vindt ik het persoonlijk raar dat HTML wel uit gevoerd wordt , en ASP code niet.
Het zijn bedie een code die aan de server side , tussen gevoegt worden.
Sterker nog, ik zou het een gigantische bug vinden als mensen standaard ASP-code(!) kunnen uitvoeren door middel van een script. Kan je eens nagaan wat voor gigantische leaks dat wel niet op kan leveren?

Dat mensen HTML-code kunnen invoeren, wat al uitgevoerd wordt, vind ik op zich al een risico.

En verder over de plaats van executie; maar zie mijn bovenbuurman hiervoor :)

[ Voor 17% gewijzigd door gorgi_19 op 04-12-2003 23:45 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ok , dat weet ik ...... natuurlijk wordt html niet "" uitgevoerd"
en asp wel , wat ik bedoelde te zeggen hier mee , is dat hoe dan ook , het aan de server side bijelkaar gevoegt wordt .....

het zij als compleet paket eind HTML dus ........

De asp code wordt eerst omgezet naar html en dan met de rest mee gezonden.

mijn punt is :
waarom html wel werkt , en het door ASP gebouwde HTML niet.

Maar dat weer te zijde :)

ik zal je voor stel een s gaan proberen , al moet het hele ontwerp daar voor om gegooit worden.

  • mocean
  • Registratie: November 2000
  • Laatst online: 30-03 18:32
Wat je zoekt is (denk ik) ene template engine. Nu ken ik die zelf niet voor ASP (wel voor PHP) maar het komt ongeveer op hetvolgende neer.

De zogenaamde 'engine' zorgt in de eerste plaats voor het vervangen van variabelen die in de template staan, voorbeeld:
[html]
<head><title>%titel%</title></head>
<body bgcolor="%color%">%body%</body>
[/html]

Als de lijst van variabelen bekend is, kan je die in een array stoppen en replaces maken (eventueel met regular experssions)., een kant-en-klare template engine doet dit voor je en heeft vaak veel meer opties, zoals het maken van loops, if-then constructies, en complete functies.
Kijk eens op hotscripts.com: http://www.hotscripts.com...D&query=template&catid=35

Koop of verkoop je webshop: ecquisition.com


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Verwijderd schreef op 04 december 2003 @ 23:46:
waarom html wel werkt , en het door ASP gebouwde HTML niet.
Jouw mainpage.asp is al ASP code. Deze code (dus de code die gegevens uit de DB haalt) is al door de ASP interpreter heengegaan.
Op het moment dat jij code uit de db haalt wordt dat gewoon als tekst gezien.

Je kunt dit oplossen met Execute(). Dit zorgt ervoor dat het parsen van de pagina gestopt wordt, en er word begonnen met de code in het execute statement, waarna verder wordt gegaan met de oorspronkelijke ASP code. Je kunt wel nagaan dat dit een behoorlijke belasting is, en de snelheid zeer zeker niet ten gunste komt.

Als het alleen gaat om variabelen etc. kun je beter een ASP pagina maken die op basis van een QueryString parameter variabelen uit de db haalt, en geen ASP code.

ASPFaqs.com heeft een categorie, 'The nature of things' misschien wel intressant om deze eens door te lezen.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • klinz
  • Registratie: Maart 2002
  • Laatst online: 21-05 09:01

klinz

weet van NIETS

P_de_B schreef op 05 december 2003 @ 08:24:
[...]
Je kunt wel nagaan dat dit een behoorlijke belasting is, en de snelheid zeer zeker niet ten gunste komt.
Dat zal je nog meevallen. Test het maar eens.

Verwijderd

Topicstarter
"" ...... is al uitgevoerd......"""


Ow mijn hemel |:(

Wat stom je heb helemaal gelijk.
Ik was duidelijk niet helemaal bij mijn bewust zijn toen ik gister avond bezig was.

Het voor gestelde kan inderdaad wel , maar de de exta belasting willen we niet.
al kan het wel getest worden ;)

Terug naar de tekentafel :)

Bedankt voor jullie reacties..... wat mij betreft kan dit topic wel dicht 8)

oh en natuurlijk ook bedankt voor de link , zal hem door lezen

[ Voor 22% gewijzigd door Verwijderd op 05-12-2003 17:24 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
klinz schreef op 05 december 2003 @ 12:32:
[...]

Dat zal je nog meevallen. Test het maar eens.
Nee, dat valt niet mee. Ligt eraan hoe je het test. Als je gewoon de pagina opvraagt merk je het verschiel niet.

Als je test met ACT of iets dergelijks met een behoorlijke load verneem je het verschil wel.

Oops! Google Chrome could not find www.rijks%20museum.nl

Pagina: 1