GICodeWarrior

Joined 17 years ago

Karma
638
Submissions
134
Member since
Jan 27
View on Hacker News

Recent submissions

Comment · 1 month ago
SAML implementations can protect against this by turning IdP-initiated requests into an SP-initiated request. On the SP-initiated responses, there is an `InResponseTo` field that can be validated (or `RelayState` can be made to work).

The OIDC specification is pretty hand-wavy about how to prevent this attack as well. So don't assume all OIDC implementations do.

Comment · 1 month ago
One of the issues I've run into with Tailscale OIDC is that an email domain must be mapped to a single tailnet. So if my IdP has consultants or if my domain contains multiple businesses with different tailnets, I need to do some domain mapping in my IdP and train users to login with that special non-email address.

This isn't strictly a limitation of OIDC, but I do see this issue more often with OIDC implementations. With IdP-initiated flows, the app doesn't need to know who's in my IdP ahead of time.

Comment · 2 months ago
While not as good as a proper refresh, you can use alternating black and white drawing to help clear an area of the screen.
Comment · 7 months ago
ctrl+mouse wheel triggers the application zoom in most cases. However, if my mouse is over the scrollable node, it invokes the Google Chrome window zoom (so I end up with two competing zoom transforms). It also zooms relative to the upper left corner, rather than relative to my cursor (seems the app doesn't support panning?). The background dots also move and change size as I zoom (subtle but somewhat distracting).
Comment · 1 year ago
Comment · 1 year ago
Encoding for each scenario can be quite complex unfortunately. Django does have some template filters to help.

I recommend following the documentation carefully, and using a JSON API or other similarly standard mechanism if the documented options are insufficient.

Comment · 1 year ago
Simple JSON encoding alone is not sufficient if you put the output into a <script> tag.

<script>const user_input = "</script><script>alert(1)//"; ...

Comment · 1 year ago
The "How to use a Python variable in an external Javascript (Django)" examples are likely vulnerable to an XSS attack, when the variable contains user supplied content.

It's important to output-encode for the correct context. By default, Django encodes template variables for an HTML context, which can allow XSS when output inside a script tag or as a JavaScript file.

Comment · 2 years ago
Further, security of a marketing site tends to be lower priority than the product itself, and an install script should generally be secured similar to the product.
Comment · 3 years ago
How can ToolJet relicense AGPL contributions to a less restrictive license?

The code is AGPL and accepts volunteer contributions under that license.

https://github.com/ToolJet/ToolJet/blob/develop/CONTRIBUTING...

However, in their AGPL announcement it says:

> We do have a commercial license that overrides the AGPL license. This commercial license allows organizations to make changes to ToolJet and provide it as a service.

https://blog.tooljet.com/changing-license-to-agpl/#what-some...

Does the hosted ToolJet service include unreleased code, leveraging this commercial license?

Every volunteer contributor would need to agree to relicensing and/or would need to have previously agreed to assign their copyright to ToolJet, right?

Comment · 3 years ago
NPTv6 is different from IPv4 NAT and doesn't really have the same issues.

A different solution I've seen proposed for networks with multiple ISPs is to advertise both public prefixes to the network and let each client endpoint figure out which egress to use. This seems like a worse idea though.

The most official approach is to get your own public IPv6 prefix and work with your ISPs to BGP route that to you on both links. However, home and small business ISPs generally don't offer this.

Comment · 3 years ago
Have you implemented NPTv6 before? What routing product(s) have you implemented this with? Do you happen to have some documentation links handy?

In my experience, this capability is missing from most off-the-shelf solutions, and in the cases where it is available, the documentation of this feature is missing or incomplete.

Comment · 4 years ago
Here's a list of processors supporting AVX-512:

https://ark.intel.com/content/www/us/en/ark/search/featurefi...

The author mentions it's difficult to identify which features are supported on which processor, but ark.intel.com has a quite good catalog.

Comment · 6 years ago
If you put your webcam behind your video chat window, you can achieve better eye contact with your remote participants. I wonder how well a webcam can see through these screens and/or how much of a hole would be required in the rendered image to avoid obstructing the camera.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton