A few minutes ago, Michael W wrote:
> 
> I guess you're making the point that quasiquotes in a
> web-server/templates template doesn't protect against injection.

Yes, exactly.  And going back to Harry's question, it was about the
"@syntax", and to be percise, that syntax is independent of anything
else.  For example, here's your code translated to that:

  (let ([user-supplied-input "<script http=\"nasty\">...</script>"])
    (xexpr->string
      @`html{@body{@p{@,user-supplied-input}}}))


> After all, the templates library doesn't explicitly escape anything

Right, and *that's* the important issue.


> whereas xexpr does.

Not xexprs -- the library that is commonly used to spit them out as
xml.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to