Avatar billede basementjack Nybegynder
22. marts 2005 - 23:53 Der er 2 kommentarer og
1 løsning

Gemme billede upload på et andet subdomæne

Hej alle

Jeg har tænkt mig at lave et mini CMS, hvor der bl.a. kan uploades billeder. Det jeg gerne vil er at fra admin.blabla.dk kan jeg uploade et billede som jeg gemmer i mappen blabla.dk/images, altså mit hoveddomæne.

Det foregår på et webhotel, så jeg kan ikke pille ved IIS indstillinger. Men hvis det hjælper, kan jeg sige at på ftp ligger de to mapper lige ved siden af hinanden.

ftp:
  -- blabla.dk/
  -- admin.blabla.dk
  -- subdomæner.blabla.dk

Så hvordan gør jeg det?..

P.S.
  Jeg skriver i C#, men VB.Net kan godtages.. :)
Avatar billede basementjack Nybegynder
23. marts 2005 - 14:06 #1
Okay.

Jeg har selv fået en ide. Hvis man er logget ind på admin.blabla.dk, og vil uploade et billede, så klikker man på "upload"-linket. Dette åbner en popup fra blabla.dk/secret/saveImage.aspx. Problemet er så at sikre brugerens identitet.

Kan jeg overføre en Session-værdi med til det nye domæne, som verifikation?

Eller kan forms authorization overføres med til det nye domæne, eller evt. indlæses gennem den cookie asp.net laver?

Hvis intet af det ovenstående kan lade sig gøre, kan jeg kun forestille den længere løsning som er at implementere ftp funktionalitet serverside, som jeg heller ikke har en ide om kan lade sig gøre. Eller ved hvordan man gør.. :)
Avatar billede basementjack Nybegynder
23. marts 2005 - 14:54 #2
Forsøger mig med en cookie som verifikation lige nu:

<a href="" OnClick="window.open('usercontrols/popup/blabla.aspx','subWindow','height=400,width=500,top=310,screenY=310,left=450,screenX=450,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,alwaysLowered=no,alwaysRaised=no,dependent=no,hotkeys=no,titlebar=no,z-lock=no,fullscreen=no,channelmode=no')">Add Image</a>

blabla.aspx laver så en cookie, og man klikker videre:

<script language="C#" runat="server">
    void Page_Load(Object objSender, EventArgs objArgs)
    {
        HttpCookie cName = new HttpCookie("BlablaImages");

        cName.Value = DateTime.Now.ToString();
       
        DateTime dt = DateTime.Now;
       
        TimeSpan ts = new TimeSpan(0,0,5,0);
       
        cName.Expires = dt.Add(ts);
       
        Response.Cookies.Add(cName);
       
    }
    void forward(Object objSender, EventArgs objArgs)
    {
       
        Response.Redirect("http://www.blabla.dk/admin/Image.aspx"+HttpContext.Current.Request.RawUrl.ToString());
       
    }
</script>

Image.apsx skal så læse og godkende cookie'en eller nægte adgang:

<script language="C#" runat="server">
    void Page_Load(Object objSender, EventArgs objArgs)
    {
        if (Request.Cookies["BlablaImages"] == null )
        {
            Response.Redirect("denied.aspx");
        }
       
    }
</script>

Men den bliver ved med at nægte adgang.
Avatar billede basementjack Nybegynder
26. marts 2005 - 00:29 #3
Det blev en low-level-security løsning.

Encryptede noget DateTime + "nogetExtra" i QueryString'en, som der blev testet på på den anden side.

Encrypt og decrypt kommer fra http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1905&lngWId=10 ...

Vær opmærksom på at der er fejl i koden der, så to funktioner skal udbyttes til dette:

    public static String Encrypt( String original )
    {
        return Encrypt( original, _DefaultPassword );
    }

    public static String Decrypt( String encryptedString )
    {
        return Decrypt( encryptedString, _DefaultPassword );
    }
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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