• 0 Posts
  • 29 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle








  • dbx12@programming.devtoProgramming@programming.devGit Things
    ·
    6 months ago

    Review is done before code gets into main, but that’s inefficient for most of the non-mission critical projects out there. A better approach is to optimistically merge most changes as soon as not-rocket-science allows it, and then later review the code in situ, in the main branch.

    Assuming you have a project with continuous delivery, that is an absolute foot gun. Optimistically merge the change and then realize in situ that you forgot the WHERE part of your SQL command (or analog statement of the query builder)? No fucking thanks.


  • There are some good points in it but the list feels poorly written as it contains very general tips which feel like fluff to increase the article length like:

    Protect the client-side against attacks.

    Or just wrong stuff like:

    Validate all server-side input data.

    If you can trust someone, it's the server. You should validate data coming from the client on the server side.

    Some things even contradict each other like

    Implement strong authentication, such as two-factor authentication (2FA).

    And

    Use secure authentication mechanisms such as OAuth.

    Assuming your app is an OAuth client, you have no say in how the identity provider identifies the user.

    Good point, but even better than

    Monitor file and source code integrity.

    is having the application source code read-only, ideally owned by another user to avoid the confused deputy problem.








  • I would recommend key based authentication for SSH connections. For the normal connection, the key pair is enough, if you want admin (root) access, you would use the command sudo which in turn requires a password. For creating a default admin account: Linux does this for you, it's called root. You should create a personal user to work with in daily business and add it to the sudoers group (permits using the sudo command)