Propellihatuille VBScript-pähkinä (domainin tarkistus)

mitähäh, ei muka toimi? :D

Tää pirulainen jumittaa mun servon...
bongaakos joku tuolta ilmiselvää bugia?
entä saiskos joku sen jopa toimimaan?

Eli subia kutsutaan sitten kun on tutkittu että onko domain vapaa, ja nyt sitten tarkistetaan että sopiiko se meille, eli vastaako niitä TLD -tyyppejä jotka me hyväksymme. oma TLD -listamme on erillisessä txt-filessä ylläpidon helpotukseksi (ja koodaajan kauhuksi). :D

Sub ValidateDomain
‘alustan muuttujat ja teen tuosta yhestä jo valmiiksi arrayn
Dim vStrDomain,vStrDomReverse,vDomCount,SerCreObjFSO,DomPicker,vDomainCheck,x
Dim aPosDomain
aPosDomain = Array()
‘tarkistettava domain tulee querystringillä
vStrDomain = Request.QueryString("domain")
‘käännän sen ympäri vertailun helpottamiseksi
vStrDomReverse = strReverse(vStrDomain)
vDomCount = CInt(0)
‘ lasken kuinka monta riviä on domainlistfilessä, johon on listatu kaikki sallitut domainit omille riveilleen
Set SerCreObjFSO = Server.CreateObject("Scripting.FileSystemObject")
Set DomPicker = SerCreObjFSO.OpenTextFile(Server.MapPath("domainlist.txt"),1)
Do While DomPicker.AtEndOfStream = False
vDomCount = vDomCount 1
Loop
Set DomPicker = Nothing
Set SerCreObjFSO = Nothing
‘teen arrayn jossa on yhtä monta alkiota kuin filessä rivejä
vDomCount = vDomCount - 1
ReDim aPosDomain(vDomCount)
vDomCount = CInt(0)
‘lätkin datan filestä juuri tehtyyn taulukkomuuttujaan…
Set SerCreObjFSO = Server.CreateObject("Scripting.FileSystemObject")
Set DomPicker = SerCreObjFSO.OpenTextFile(Server.MapPath("domainlist.txt"),1)
Do While DomPicker.AtEndOfStream = False
aPosDomain(vDomCount) = DomPicker.ReadLine
vDomCount = vDomCount 1
Loop
Set DomPicker = Nothing
Set SerCreObjFSO = Nothing
vDomCount = vDomCount - 1
DomainCheck = False
Sitten vaan vertaan ne perkeleet keskenään peräpäästä alkaen…
For x = 0 To vDomCount
vLenDom = Len(strReverse(aPosDomain(x)))
If Mid(vStrDomReverse,1,vLenDom) = strReverse(aPosDomain(x)) Then
vDomainCheck = True
End If
Next
If vDomainCheck = False Then
Response.Write "Invalid Domain"
End If
End Sub


vaikka uskonkin että aika hiljasta on, niin piti silti kuitenkin kysyä... kthxbye 8)

8

695

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • se sama

      vika kommentti näköjään jostain syystä ilman lainausta...
      muutenkin tuo koodi nyt tuli tuohon vähän miten sattui näköjään, mutta koittakaa saada selvä...

    • miten olisi

      Do While DomPicker.AtEndOfStream = False
      vDomCount = vDomCount 1
      Loop


      mikä tässä pysäyttää laskemisen?

      • I Am AtEndOfStream

        Nih, eikös tuossa loopissa se AtEndOfStream ole aina false....varmaan servon processorin kuorma kohtuu suuri kun ajat tota :)


      • alkuper.

    • Kiitos molmemille vastaamaan vaivautuneille, sain koodin toimimaan :)

      ekaan luuppiin kun tekee haamumuuttujan johon joka rivin arvo tallennetaan niin se toimii.

            Do While DomPicker.AtEndOfStream True
               vNull = DomPicker.ReadLine
               vDomCount = vDomCount 1
            Loop

      • TarjaHalonen

        Juh, siis ihan tiedoksi että miksi se "haamumuuttuja" tarvitaan. Auttaa ehkä myöhemmin kun käsittelet tiedostoja...

        jos looppaat tiedstoa läpi tyyliin

        While EndOfFile True
        Do stuff
        End While

        Niin oletuksena siis tuo endoffile on ikuisesti false, koska tiedoston pointteri (kohta josta tiedostoa luetaan) on aina tiedoston alussa, koska se ei itsekseen liiku mihinkään. Ja tuo EndOfFile testaa ainoastaan pointterin sijaintia, ei muuta.

        Erilaiset tiedotston lukemiseen tarkoitetut methodit kuten ReadLine kuitenkin siirtävät sen pontterin aina tietyn määrän merkkejä eteenpäin, jolloin se pointteri ennen pitkää tulee tiedoston loppuun ja saa aikaiseksi sen, että EndOfFile saa arvon true.

        Elikkäs periaatteessa ei tarvittaisi edes tuota haamumuuttujaa, riittää kun laitat sen metodin kutsun siihen... esim.
        Do While DomPicker.AtEndOfStream True
        DomPicker.ReadLine
        vDomCount = vDomCount 1
        Loop


    • p7h
      • ulalla...

        ja mitenhän toi liittyi aiheeseen?


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos

      Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä
      Maailman menoa
      91
      2910
    2. Pelotelkaa niin paljon kuin sielu sietää.

      Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda
      Maailman menoa
      299
      1686
    3. Mikä saa ihmisen tekemään tällaista?

      Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?
      Sinkut
      246
      1557
    4. Minkä merkkisellä

      Autolla kaivattusi ajaa? Mies jota kaipaan ajaa Mersulla.
      Ikävä
      87
      1391
    5. IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!

      Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel
      Maailman menoa
      402
      1384
    6. Nyt kun Pride on ohi 3.0

      Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että
      Luterilaisuus
      400
      1307
    7. Kiitos nainen

      Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik
      Tunteet
      2
      1089
    8. Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa

      Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat
      Suomalaiset julkkikset
      38
      1037
    9. Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?

      Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun
      Maailman menoa
      329
      874
    10. Miksi Purra-graffiti ei nyt olekkaan naisvihaa?

      "Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden
      Maailman menoa
      257
      855
    Aihe