2011-12-10 18 views
4

我正在为我的银行给出的数字声明编写一个解析器,并且它可以工作,但是如果我想让其他人将他们的声明上传到它,就会说。脚本完成后处理变量数据的最佳方法是什么?处理变量中的敏感信息并在使用后上传

我最初使用file($_FILES['uploadedfile']['tmp_name'])来获取文件的数据。脚本完成后,这个临时文件被删除了吗?或者我需要这个吗?

对于变量,是unset()够了,还是必须更进一步?

回答

3

变量存储在内存中,脚本完成后,内存被释放并被销毁,无法恢复。无需在它们上调用unset(),因为脚本终止时会隐式发生。

脚本完成执行后,应该立即删除出现在$_FILES阵列中的文件上传所创建的临时文件,但如果您想对此进行双重确认,则可以在其上调用unlink()

只要你不存储敏感数据在$_SESSION,饼干,或任何其他明确的持久性,你应该没问题。

如果您确实需要在服务器上保留一些数据,您可以使用它进行加密,例如Mcrypt

+0

有一个+1,我的快速(呃)类型的朋友;)。 – middus

+1

@middus有一回:D – DaveRandom

+1

+ 1s全面:)伟大的答案,谢谢你们! – DexCurl

2

临时文件最终会被删除。但是,AFAIK你不能真正影响这一点。为了预先删除,请使用unlink()

关于变量:不需要unset()它们,因为它们只存储在RAM中,一旦脚本执行完成后就会被销毁。