Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #3381

S

Sjoerd Langkemper

Personal blog · sjoerdlangkemper.nlsecurityprogramming

Sjoerd Langkemper's personal blog at sjoerdlangkemper.nl covers security and programming. Since 2016, 23 different Hacker News readers have linked it 26 times, most often “Securing cookies with cookie prefixes”. It is still writing: the last post was on 2026-10-28, and you can follow it by feed.

Visit the blog
26mentions?
23HN people?
2016–2025first – last linked?
Links on Hacker News per year · peak 7 in 2024

Too few sampled comments (9) to say how often HN recommends it.?

Why HN links it

HN readers link Sjoerd Langkemper's posts on web security, including cookie prefixes, CSRF, timing attacks, token binding and htmx with CSP. Comments cite them as sources or background, without judging the writing.

Summarised by Claude from a sample of 9 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Most-linked posts?

  1. Securing cookies with cookie prefixes
    3 people · 3 mentions · first linked 2017-02-09
  2. String Comparison Timing Attacks
    2 people · 2 mentions · first linked 2024-05-29
  3. JavaScript can overwrite or remove HTTPONLY cookies
    2 people · 2 mentions · first linked 2020-05-27
  4. Password Hacking on TENEX: Using Paged Virtual Memory to Break Security
    2 people · 2 mentions · first linked 2016-11-01
  5. Running Etherkey on an ATmega32u4 to emulate a keyboard (2022)
    2 people · 2 mentions · first linked 2024-02-11

What Hacker News says?

  1. > just like they failed to implement per-site cookies To be fair there has been an ugly solution to this recently, the `__Host-` cookie prefix: https://www.sjoerdlangkemper.nl/2017/02/09/cookie-prefixes/

    Comment linking /2017/02/09/cookie-prefixes/

    on “Css-only-chat: A truly monstrous async web chat using no JS on the front end”
  2. Submitted Htmx does not play well with content security policy as a story · 97 points

    HN discussion
  3. JVM 8 isn't an implementation, it's a specification. Assuming you mean oracles implementation, it's likely that it is. https://www.sjoerdlangkemper.nl/2016/05/22/should-passwords-... http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buf... https://man.openbsd.org/explicit_bzero.3

    Comment linking /2016/05/22/should-passwords-be-cleared-from-memory/

    on “SSH gets protection against side-channel attacks”
  4. Submitted Preventing CSRF with the same-site cookie attribute as a story · 57 points

    HN discussion
  5. I came to the same conclusion. Many string comparison implementations don't actually compare one character at a time. In one case strcmp seemed to compare eight characters at a time, so you would need to guess eight characters correctly to get a time difference. Glibc memcmp can compare 32 bytes at a time. In C# the timing of string compare depends on whether it does Unicode normalization or not. Even then, the diff…

    Comment linking /2024/05/29/string-comparison-timing-attacks/

    on “Listen to the whispers: web timing attacks that work”
  6. Submitted Password Hacking on TENEX: Using Paged Virtual Memory to Break Security as a story · 33 points

    HN discussion
  7. A few more links that I collected recently on the topic https://github.com/golang/go/issues/73626 https://developer.mozilla.org/en-US/docs/Web/Security/Attack... https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/... https://web.dev/articles/fetch-metadata https://appliedgo.net/spotlight/csrf-dont-mess-with-my-site/ And some older ones that focused on Origin header rather than sec-fetch-* https://www.sjoerd…

    Comment linking /2019/02/27/prevent-csrf-with-the-origin-http-request-header/

    on “Cross-Site Request Forgery”
  8. Submitted String Comparison Timing Attacks as a story · 31 points

    HN discussion
  9. > Several months ago, I built a project using USB host mode on a Raspberry Pi Pico, which uses a USB numpad to pass messages to an MQTT server. This uses the Rp2040's USB host mode https://gitlab.com/baiyibai/pico-w-usb-host-mqtt-numpad Maybe I read the README a little to quickly, but you seem to be using standard WiFi for communication. As stated in other comments in this thread, this solution already exists. USB t…

    Comment linking /2022/11/16/running-etherkey-on-arduino-leonardo/

    on “Benchmarking latency across common wireless links for microcontrollers”
  10. Submitted MySQL's Random Number Generator as a story · 6 points

    HN discussion
  11. Everything else aside (where does one put the sleep?) probably stuff like https://www.sjoerdlangkemper.nl/2016/02/11/cracking-php-rand...

    Comment linking /2016/02/11/cracking-php-rand/

    on “CTTK: Constant-Time Toolkit”
  12. Submitted JavaScript can overwrite or remove HTTPONLY cookies as a story · 4 points

    HN discussion
  13. Token binding provides something like that. With token binding you have a private/public key pair for each site that supports it. An identifier is created from the public key and signed with the private key, to prove your identity. https://www.sjoerdlangkemper.nl/2017/07/05/prevent-session-h...

    Comment linking /2017/07/05/prevent-session-hijacking-with-token-binding/

    on “Ask HN: What feature would you want the web to “force” next, after HTTPS?”
  14. Submitted Overwriting HttpOnly cookies using cookie jar overflow as a story · 3 points

    HN discussion
  15. This one surprised me: https://www.sjoerdlangkemper.nl/2024/06/26/htmx-content-secu... <div hx-disable> <%= raw(user_content) %> </div> So, I get that `raw` prevents htmx from being used. I get that `<script>` still works. But I find it scary that if `user_content` is `</div><div>...` that is actually injected, as raw HTML. I would expect that the `<%= raw(user_content) %> only has access to contents of the div it i…

    Comment linking /2024/06/26/htmx-content-security-policy/

    on “Htmx does not play well with content security policy”
  16. Submitted Attacking RSA Keys as a story · 2 points

    HN discussion
  17. From their links: This feature adds a set of restrictions upon the names which may be used for cookies with specific properties. These restrictions enable user agents to smuggle cookie state to the server within the confines of the existing "Cookie" request header syntax, and limits the ways in which cookies may be abused. In a nutshell: `__Secure- ` cookies have to have the `Secure` flag, and `__Host- ` cookies hav…

    Comment linking /2017/02/09/cookie-prefixes/

    on “Ask HN: What should I use for authentication (WebID, OpenID, Password)?”
  18. Submitted Working with bits and bytes in Python 2 and 3 as a story · 2 points

    HN discussion
  19. Submitted The password guessing bug in Tenex as a story · 2 points

    HN discussion
  20. Submitted Running Etherkey on an ATmega32u4 to emulate a keyboard (2022) as a story · 1 points

    HN discussion
  21. Submitted Securing HTML fragments returned by API endpoints as a story · 1 points

    HN discussion
  22. Submitted Short session expiration does not help security as a story · 1 points

    HN discussion
  23. Submitted A method to do TLS on IoT devices as a story · 1 points

    HN discussion
  24. Submitted Hacking the Motorola MBP88Connect WiFi Camera as a story · 1 points

    HN discussion
  25. Submitted Securing cookies with cookie prefixes as a story · 1 points

    HN discussion
  26. Submitted Cracking PHP rand() as a story · 1 points

    HN discussion

Search all of HN for sjoerdlangkemper.nl

Linked by the same people?