Requests, Please

(morronel.github.io)

75 points | by sysoleg 6 days ago ago

19 comments

  • justusthane 2 days ago ago

    This is a ton of fun! Small suggestions:

        - A way to copy (or better yet, email) a session link so I can switch between devices while maintaining my progress
        - Allow 1 and 2 to function as hotkeys for Allow and Block, so I don't have to move between "a" and "b" for Allow and Block, and then the number keys for the block reason
    • justusthane 7 hours ago ago

      Oh, also, change “Uptime” to “Availability”

  • athrowaway3z 2 days ago ago

    This is pretty cool, but at the same time i'm horrified that somebody might walk away thinking you need to deny these requests to protect against XSS or SQL injection.

    Maybe i want to sell coffee mugs with `<img src=x onerror=alert(document.domain)>` on them.

    Parse, dont validate. (And never interpret what shouldn't be)

    • pwdisswordfishq 2 days ago ago

      Though in this case, it would be: escape, don't sanitize. "Parse, don't validate" applies to taking inputs; this is about generating outputs (like SQL queries or HTML markup).

      • Synthetic7346 2 days ago ago

        Yes, I believe the term is "output encoding"

  • agileAlligator 2 days ago ago

    I made a similar thing, but you are the LLM

    https://avneeshk.me/you-are-the-model/

    • doginasuit 2 days ago ago

      I enjoyed this!

      • agileAlligator 2 days ago ago

        Seems like a lot of people did. My free cloudflare limit ran out lol, it'll be a couple hours before it resets

  • nticompass 2 days ago ago

    So, it's "Papers, Please" but you're a firewall? I like it. Pretty cool.

    • Sander_Marechal 2 days ago ago

      Papers Please isn't really about the act of checking things. It's about the stories and moral choices. A lot of copycat games miss that point too.

      • elevation 2 days ago ago

        So this game needs a story arc where you become an accomplice to specific threat group to bring vigilante justice while maintaining plausible deniability by blocking some of their requests without letting your total numbers drop below a specific threshold?

      • pwdisswordfishq 2 days ago ago

        Why not both?

  • cryptonector 2 days ago ago

    In the first round one of the POSTs was to be rejected because it was supposed to contain JSON but contained something else; that should have been made a 400.

    • synotna 2 days ago ago

      You're acting as the firewall, not the application. That was not one of the rules for the day. In the first place a waf is specifically to stop malicious requests hitting the app.

      • cryptonector 18 hours ago ago

        That's true but not an argument for 403 over 400. Certainly either works. But one is more correct.

  • deadbabe 2 days ago ago

    Please keep the missed attacks on screen instead of rushing to the next request and just leaving some error log.

  • orthogonal_cube 2 days ago ago

    Only tested the first round but identifying SQL injections and XSS brings back memories. Fun project!

  • welldoneator 2 days ago ago

    This is really fun, I enjoyed it a ton!