Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
How to prevent static resources from being accessed directly in golang http.FileServer?

have a nice day! I sincerely ask for your advice and help. I use the back end written by golang. I hope my web page can load CSS and pictures. I use the following methods:

fs := http. FileServer(http.Dir("mystatic/"))
http. Handle("/static/", http.StripPrefix("/static/", fs))

Then I load CSS and images in the following way:

<img src= "/static/img/name_of_picture.jpeg" class="img-fluid" alt="fail" >

<link href="/static/assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" />

However, there is a serious problem that static resources will be accessed by the client using the URL plus /static/, and all my CSS and pictures will be accessed and downloaded directly. How can I prevent the client from accessing these resources directly?

I tried to use nginx to prohibit access to /static/, but the web page was also blocked and could not load CSS and pictures. I noticed that other websites should use methods to prohibit direct access to the static resources of the website (the web page display has no permission), but I tried for several days and failed, and I don't know what keywords to use to find the answer, I really hope you can guide me on how to prevent customers from directly using the website and /static/ accessing my static resources. Thank you very much!

//----------------------------------------------------------------

Additional notes:

I have an idea that I can directly read and write pictures to the website, but I don't know how to write multiple pictures in a web page in the way of data stream in golang;

And I don't know how to use golang to read CSS files directly according to the real path, and then return to the web page?

codes:

func go_ web_ webs1_ (w http.ResponseWriter, r *http.Request) {
t, _ := template. ParseFiles("static/web/basic.html", "static/web/body.html")
t.Execute(w, nil)
}

If the image can be loaded using the following,

func showPicHandle( w http.ResponseWriter, req *http.Request ) {
    file, err := os. Open("." + req. URL. Path)
    errorHandle(err, w);
    defer file. Close()

    buff, err := ioutil. ReadAll(file)
    errorHandle(err, w);
    w.Write(buff)
}

Then I can write the image directly to the page without using static resources, but I don't know how to load several images this way, and return them to the above htmls at the same time

t, _ := template. ParseFiles("static/web/basic.html", "static/web/body.html")

I wonder if the above idea is also a solution, and how it should be implemented?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda