Toon posts:

[ASP/IIS] Dynamisch host headers aanmaken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met volledige rewrite van mijn webpagina en nou wou ik iets leuks maken voor de profielen van mensen die zich registreren.

Bijvoorbeeld: Pietje registreerd als pietje03
Dan wil ik dat Pietje een profiel-pagina krijgt met zo'n URL: pietje03.domein.net

Mijn probleem is dat ik geen * voor subdomeinen kan gebruiken, maar ik kan wel onbeperkt veel subdomeinen aanmaken. Via een web-based administratie (ASP) kan ik nieuwe Host Headers aanmaken. Maar ik wil dat direct na de registratie de host header al is aangemaakt. Automatisch dus :)

Ik heb wel gezocht bij de bekende ASP sources en met google en de search, maar zonder resultaat. Maar het moet toch wel mogelijk zijn om dat mijn site-admin het ook kan :)

Weet iemand hoe ik dynamisch met ASP een host header kan aanmaken op de server? Alvast bedankt! :)

----------------------------
specs:
Server OS: Windows 2000 Server
Webserver: Microsoft IIS 5.0
DNS: Microsoft DNS

[ Voor 8% gewijzigd door Verwijderd op 28-08-2003 14:14 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Nieuwe host headers aanmaken? Tenzij je het IUSR_account ontzettend veel rechten geeft, kan dat niet. Dat je hoster er een apart administratieschermpje voor heeft gemaakt, is al heel mooi.

Echter, dat is normaliter niet met een normaal scriptje aan te maken. Ik zou eerst eens bij de hoster navragen of het uberhaupt mogelijk is, voordat je iets gaat scripten wat sowieso nooit kan werken op de server ivm security.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
wat je ook kan doen (kweetnie of het zo werkt) is zorgen dat de DNS record zo ingesteld is dat alles (xxxxx.domein.net) bij hetzelfde pakket uit komt. Je kunt dan in je script de hostname op vragen (die dus verschillend kan zijn, pietje.domein.net, henk.domein.net) en je script de rest laten regelen.

Ik heb het al eens zo opgelost, maar dat ging toen om meerdere domeinnamen (www.domein.nl, www.domein.com, www.domein.fr) die allemaal door hetzelfde script werden afgehandeld, maar afhankelijk van de domeinnaam in een andere taal.

Verwijderd

Topicstarter
zneek schreef op 28 August 2003 @ 21:42:
wat je ook kan doen (kweetnie of het zo werkt) is zorgen dat de DNS record zo ingesteld is dat alles (xxxxx.domein.net) bij hetzelfde pakket uit komt. Je kunt dan in je script de hostname op vragen (die dus verschillend kan zijn, pietje.domein.net, henk.domein.net) en je script de rest laten regelen.

Ik heb het al eens zo opgelost, maar dat ging toen om meerdere domeinnamen (www.domein.nl, www.domein.com, www.domein.fr) die allemaal door hetzelfde script werden afgehandeld, maar afhankelijk van de domeinnaam in een andere taal.
Zoals ik al zei: ik kan geen *.domein.net aanmaken, maar als dat de enige oplossing is dan moet ik maar per email vragen of ze hem handmatig aan kunnen maken.

Maar niemand weet waar ik zo'n script kan vinden? Ik heb helaas geen toegang tot de source van mijn site-admin pagina.

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Verwijderd schreef op 29 August 2003 @ 02:45:
[...]
Zoals ik al zei: ik kan geen *.domein.net aanmaken, maar als dat de enige oplossing is dan moet ik maar per email vragen of ze hem handmatig aan kunnen maken.

Maar niemand weet waar ik zo'n script kan vinden? Ik heb helaas geen toegang tot de source van mijn site-admin pagina.
Dat snapte ik. Maar misschien kan degene die je domein beheert (DNS) dat wel. Ik weet niet of het mogelijk is hoor. Ik ben zelf wel benieuwd eigenlijk. Zou ik ook wel goed kunnen gebruiken.

  • rollebol
  • Registratie: Mei 2000
  • Laatst online: 09-06 12:38
Je zou de web interface kunnen 'screen scrapen', dan moet het mogelijk zijn. Je moet dan gewoon vanuit je ASP-code GET- en POST-requests doen zoals je dat normaal vanuit je browser zou doen.

Mijn ASP is een beetje roestig maar ik zag het in de 'oplossingen' hierboven niet echt staan. Wellicht heb je er iets aan.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

rollebol schreef op 29 August 2003 @ 09:12:
Je zou de web interface kunnen 'screen scrapen', dan moet het mogelijk zijn. Je moet dan gewoon vanuit je ASP-code GET- en POST-requests doen zoals je dat normaal vanuit je browser zou doen.

Mijn ASP is een beetje roestig maar ik zag het in de 'oplossingen' hierboven niet echt staan. Wellicht heb je er iets aan.
Waarbij er waarschijnlijk wel de kans bestaat dat er een referrercheck is, waardoor je misschien niet vanuit een ander script kan posten.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Verwijderd schreef op 29 August 2003 @ 02:45:
(...)
Maar niemand weet waar ik zo'n script kan vinden? Ik heb helaas geen toegang tot de source van mijn site-admin pagina.
Misschien wel, maar dat is de essentie niet van dit forum. Dit forum gaat over programmeren en copieëren van andermans code is dit niet.
Door zelf een oplossing te bouwen leer je meer en doe je ervaring op, zodat je ook andere mensen kunt helpen :)

Liever geen scriptrequest meer plaatsen aub :) anders zal ik deze draad sluiten :)

Verwijderd

Topicstarter
rollebol schreef op 29 August 2003 @ 09:12:
Je zou de web interface kunnen 'screen scrapen', dan moet het mogelijk zijn. Je moet dan gewoon vanuit je ASP-code GET- en POST-requests doen zoals je dat normaal vanuit je browser zou doen.

Mijn ASP is een beetje roestig maar ik zag het in de 'oplossingen' hierboven niet echt staan. Wellicht heb je er iets aan.
Ik denk niet dat dat lukt vanwege de login van de web-interface. :)

Ik zal eerst eens proberen of ik een *.domein.net kan krijgen :)
iig bedankt

  • rollebol
  • Registratie: Mei 2000
  • Laatst online: 09-06 12:38
Verwijderd schreef op 29 August 2003 @ 14:08:
[...]
Ik denk niet dat dat lukt vanwege de login van de web-interface. :)
Login kan je ook nabootsen.

Iemand noemde een referrer-check (denk ik, er stond reference check). Dat is ook na te bootsen. Alleen je IP-adres is wat moeilijk te vervalsen, maar ik verwacht niet dat dat nodig is.

Verwijderd

Topicstarter
Het is me gelukt om het script te maken. Ik had nog wat info nodig, bijvoorbeeld de IIS identifier, computernaam en de PlanID van de hosting controller. Met enige moeite kon ik de informatie achterhalen op de server. Bij mij thuis werkte het script perfect! Echter op de server had ik niet voldoende rechten (Permission denied: 'GetObject')

Het script werkt alleen als je Hosting Controller gebruikt, wie belang heeft voor de benodigde files mag mij natuurlijk emailen op thomas[at]mediacreations.nl
disclaimer: ik bedoel natuurlijk de includes voor mijn script! Geen software ;)

Het script is misschien wel aan te passen dat hij stand-alone werkt maar daar heb ik geen behoefte aan op dit moment.

ASP:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<%

Session("AdminLevel")="webadmin"
Session("ValidReq")=True
Session("Domain")="*****"           <<< computernaam v.d. server
Session("AdminName")="*****"        <<< domein van je website (domein.net)
Session("AdminOwner")="*****"      <<< jouw reseller naam
Session("iPageSize")="20"
Session("DBString")="MS Access"
Session("CurrencySymbol")="USD"
Session("OwnerCurrencySymbol")="USD"
Session("skinid")="skin1"
Session("language")="English"
Session("planid")="**"             <<< plan ID van Hosting Controller
Session("advlogin550")="TRUE"

Application("Connection1_ConnectionString")="Driver={Microsoft Access " & _
"Driver (*.mdb)}; DBQ= C:\Program Files\Advanced communications" & _
"\Hosting Controller\database\hcver2002.mdb; User ID=; Password=;"

HName = "test-test-test.domein.net"          <<< nieuwe host header
HPort = "80"
HIP = "xxx.xxx.xxx.xxx"                 <<< IP address v.d. server

SET WebObj = GetObject("IIS://Localhost/w3svc")
FOR each WebMember in WebObj
 IF IsNumeric(WebMember.Name) THEN
  ADPath = "IIS://Localhost/w3svc/" + WebMember.Name
 END IF
NEXT

%>

<!--#include FILE="common/inc_sessioncontrol.asp" -->
<!--#include FILE="common/inc_sessioncheck.asp"-->
<!--#include FILE="common/inc_ObtainIP.asp" -->
<!--#include FILE="common/inc_SessionVar.asp"-->

<% On Error Resume Next

set IIsObject = GetObject(ADPath)
IIsObject.GetInfo   
ServerBinding = IIsObject.ServerBindings    
NSize = UBound(ServerBinding)   
NSize = NSize + 1
ServerComment = IIsObject.ServerComment
HtempName = HName '+ "." + ServerComment
ReDim newArr(NSize) 
idx1 = 0
for idx1 = 0 to NSize       
newArr(idx1) =  ServerBinding(idx1)
next
Err.Clear
NewVal = HIP & ":" & HPort & ":" & HtempName    

newArr(NSize) = NewVal
IIsObject.ServerBindings = newArr       
IIsObject.SetInfo
if isObject(IIsObject) then
set IIsObject = Nothing 
end if
sresult = EnterCNameEntry(ServerComment,ServerComment,HName)

if (Err) then
 AddHostHeaders = -1
else
 AddHostHeaders = 1
end if

Response.Write("test-test-test.domein.net is toegevoegd")

%>


Ik verwacht eigenlijk niet dat veel mensen hier iets aan hebben omdat Hosting Controller geïnstalleerd moet zijn. Maar als iemand er iets aan heeft mag die mailen :)

[ Voor 14% gewijzigd door Verwijderd op 30-08-2003 14:21 ]

Pagina: 1