我已经很久没有来这里了,所以我希望我做得很好。
我正在做一个网络项目,基本上是一个twitch流媒体的个人资料类型的网站。它被设计成只显示该流媒体人关于他们的流媒体的信息。所以其他用户不应该通过twitch或其他方式登录。
我遇到的问题是,最近对twitch API的修改要求使用OAuth,而令牌在一段时间后会重置,因为它应该。
问题是...
我如何在网站上私自存储一个变量?这个变量需要持续30-60天左右,不能存储在服务器以外的任何地方,任何人都无法访问,并且在时间段结束后可以轻松更改。
我查看了APC,发现由于我使用的是php7.2,它已经被APCU取代了。回顾APCU上的细节,会有问题,这些信息在我需要的时间段内没有被存储,有可能刚起来就被清空了。所以就把这个标记掉了。
我想过本地文件存储,但我需要对我收集的信息保密,所以本地文件是不可能的。
我打算在项目完成后发布源代码,所以我不想使用数据库,因为它只会让简单的用户更加复杂。
会话是以cookie的形式存储的,这就把字符串交给了可能想做恶意的人,所以这是不可能的。
长话短说,我试图避免以下情况。
local file storage
databases
sessions
any kind of caching that would be unreliable
我只是需要在正确的方向上迈出一步。
对不起,帖子太长了。
如果你想要最小的设置和基础设施, sqlite 可以是一个不错的选择。它仍然是一个数据库,但它直接在PHP中工作,只需要一个文件来存储数据。这种解决方案在移动应用中也非常常用,因此开发人员可以从SQL的强大功能中获益,同时为用户保持简单。
sqlitetutorial.net 有很好的教程来让你入门。
我相信我找到了问题的解决方案。我仍然可以利用文件的存储,如果我把一个.htaccess的目录,我希望限制与 deny from all
服务器仍然可以访问文件并相应地读取它们,同时限制外部入侵。
再加上一些.htaccess的技巧,我就可以直接发送一个404的响应,这样看起来就像那里没有什么特别的东西,而不是提醒任何人文件或目录的存在。
感谢SystemGlitch和imvain2让我对这个问题有了更多的思考,让我能够意识到解决的可能性。