unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* Guile web server example serving static files
@ 2020-09-17 21:45 Zelphir Kaltstahl
  2020-09-18  5:56 ` divoplade
  2020-09-18  7:47 ` Dr. Arne Babenhauserheide
  0 siblings, 2 replies; 10+ messages in thread
From: Zelphir Kaltstahl @ 2020-09-17 21:45 UTC (permalink / raw)
  To: Guile User

Hello Guile Users!

I finally managed to create an example for using Guile's web server and
serving static files. A rather silly bug kept me for a few days from
making progress, but finally today I fixed it.

I tried to implement some security checks about the path of the
requested static assets. If anyone wants to look at it and point out
issues with it, I will try to fix it, or you could make a pull request.
If there are any other issues, it would also be great to know them : )

Here is the code in my repository:

https://notabug.org/ZelphirKaltstahl/guile-examples/src/65ba7cead2983f1ceb8aa2d4eedfe37734e5ca56/web-development/example-03-serve-static-assets

I tried to comment most stuff, so that the code can be understood more
easily.

And here is a pointer to the path security stuff:

https://notabug.org/ZelphirKaltstahl/guile-examples/src/65ba7cead2983f1ceb8aa2d4eedfe37734e5ca56/web-development/example-03-serve-static-assets/web-path-handling.scm#L50

(Perhaps I overlooked something fundamental with regard to safe path
handling?)

So I guess I can soon start developing another example, perhaps already
a blog, which makes use of all the code : )

I have not yet made use of Guile's sendfile procedure and keyboard
interrupt is not yet caught.

Regards,
Zelphir

-- 
repositories: https://notabug.org/ZelphirKaltstahl




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-09-20  9:07 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-17 21:45 Guile web server example serving static files Zelphir Kaltstahl
2020-09-18  5:56 ` divoplade
2020-09-19 10:39   ` Zelphir Kaltstahl
2020-09-20  7:48   ` tomas
2020-09-20  7:52     ` divoplade
2020-09-20  8:29       ` tomas
2020-09-20  8:54         ` divoplade
2020-09-20  9:07           ` tomas
2020-09-18  7:47 ` Dr. Arne Babenhauserheide
2020-09-19 10:57   ` Zelphir Kaltstahl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).