About writing file?

hi, I have problem about writing file.
I use this

data = File.new("/options.sav",“w”)

and I get file name option.sav in my path but when I open it with
notepad. It can modify :’( I don’t want this because options.sav has
save data from my app that can’t hack it! how can I write file with
can’t be modified???

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pat K. wrote:
| hi, I have problem about writing file.
| I use this
|
| data = File.new("/options.sav",“w”)
|
| and I get file name option.sav in my path but when I open it with
| notepad. It can modify :’( I don’t want this because options.sav has
| save data from my app that can’t hack it! how can I write file with
| can’t be modified???

You can’t. All it needs is the correct privileges to access the file.

If you want the data to be somewhat tamper-proof, use encryption. Note,
though, that all it needs is the key to tamper with the file again. Or
you could obfuscate the file (ROT13, BASE64 encoding, what have you).
It’ll be a loosing battle, though.

If you find a solution to this, the RIAA and MPAA, as well as SecuROM
would like to have a word with you, since you made DRM possible. :wink:


Phillip G.
Twitter: twitter.com/cynicalryan
Blog: http://justarubyist.blogspot.com

~ “Some things don’t need the thought people give them.” -Hobbes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkgpGHgACgkQbtAgaoJTgL8lUgCeKxh9TO2SdeOu+Wnlj1yCgN7g
kmEAnizWOaVe6fw6oqLsKe3XgVvUx8xF
=2h6b
-----END PGP SIGNATURE-----

If you just want to prevent casual/accidental, rather than
determined modification, after you close the file:

File.chmod("/options.sav", 0440);

For example.

RF

Ron F. wrote:

If you just want to prevent casual/accidental, rather than
determined modification, after you close the file:

File.chmod("/options.sav", 0440);

Does 0440 work on windows too?

(I think it’s clear, when he meantions “notepad”, and saves to the root
folder, that he’s using Windows.)

Yes, but I did get the arguments backwards.

File.chmod(0440, “/options.sav”)

Works just fine on my windows box and does set the Readonly bit when
I look at the file later. The nice thing about good high level
languages, they abstract many differences in operating systems away
making it easier to write portable code.

Ron.

thx you I will try with it :slight_smile:

It’s not work! :’(
I use that and it make read-only file that I can’t modify it but when I
right click->property and check off in read-only box. it can modify!!

:frowning:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pat K. wrote:
| It’s not work! :’(
| I use that and it make read-only file that I can’t modify it but when I
| right click->property and check off in read-only box. it can modify!!

And you will not be able to change that behavior, short of shipping your
own operating system.


Phillip G.
Twitter: twitter.com/cynicalryan
Blog: http://justarubyist.blogspot.com

You thought I was taking your woman away from you. You’re jealous.
You tried to kill me with your bare hands. Would a Kelvan do that?
Would he have to? You’re reacting with the emotions of a human.
You are human.
~ – Kirk, “By Any Other Name,” stardate 4657.5
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkgywckACgkQbtAgaoJTgL+AEwCeI2xF3bQE8FjtyOlpQ5ekib9n
2JAAnRMK9fHw+IRnx1N7aeOjBeeSTe4x
=OTa6
-----END PGP SIGNATURE-----

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs