Show HN: CMS Server written in Go (alpha)
bytengine.com
bytengine.com
Okay, why?
This caught my eye so i had a look through auth.go. Passwords are salted sha1... okay, but why not bcrypt? No PBKDF2? No field for hash format versioning if you want to backwards-compatible upgrade to bcrypt in future? Guess you could always go by the salt length or something.
It looks like your code to hash the password and salt is copy-pasted and appears twice, don't do that.
Your salts are 16 random bytes, okay.. but why base64 encode the salt before hashing? Now some structure of the content is known that might expose a weakness.
security layer definitely needs more work. my choices were mostly limited by my haste to get a working prototype and not very well thought through.
Your fundamentals are fine, i don't think those are very serious problems compared to the average custom web app in the wild (most of which probably use plaintext passwords with no concern for sqli or xss...)
If not, I think there is potential for a timing attack here?
if usr == _admin_usr && pw == _admin_pw { return RootMode, nil }
--
Therefore, instead of dealing with key-values, objects ids and primary keys, you can access your data using file paths just as you would with a regular file system. Bytengine’s file system is modelled on the linux file system where you have a root directory ‘/’ and file paths separated by a forward slash ‘/’. Bytengine stores your content in Files that can further be organised in Directories.
--
So there you have it! Wait...
So you could upload pictures, tag them in JSON and later run live queries based on the tags from your client app (to sort them based on location for example).
I'll be adding more/better docs in the coming days.
cheers
scp/sftp is great, but if you've ever had to deal with large numbers of users trying to properly manage ssh key pairs you will know it's not an approach that will work at scale.
cheers
The main page is active in the browser but the header says 404 Not Found, maybe it's a bug?
~$ curl -IL http://www.bytengine.com/
HTTP/1.1 404 Not Found
Server: nginx/1.1.19
~$ curl -IL http://www.bytengine.com/should_404
HTTP/1.1 404 Not Found
Server: nginx/1.1.19cheers
server.newuser
line[1]: expected string in New User; got EOF
cheers