我已经部分理解为什么开发人员会有像afs342sf.css这样的文件名,而不是像main.css那样可读的东西 - 我不相信开发人员手动命名文件;我确信它是在插入任何数据库时以编程方式完成的。我有点不知道为什么需要这个,以及如何调用它。
如果数据库有一个表,并且为了简单起见排除了其他表:
file_id, file_name, file_display_name, file_size.......... etc.
当调用数据时,它使用file_display_name(afs342sf.css或简称afs342sf)作为参考 - href="/yourhost/www/afs342sf.css"
- 当有人可以轻松使用相同的GET请求信息时,究竟是什么区别,或者我有这个理论错了吗? - 我通常是一个偏执的人(显然对安全有好处)并且让自己感到困惑,因为它也可能是它的身份,但是不是太过分了?然后就会想到如果程序在每个请求时改变文件名会怎么样;当其他请求传入时,它是否会丢失,并且它没有固定的地址名称?
最后但并非最不重要的是,如果有人可以发布任何可以帮助隐藏或隐藏文件检索方法的页面链接,我将非常感激。为了记录,我没有隐藏.php扩展名 - 自学成才,并且从一个受信任的社区学习对于知识来说是压倒性的。
答案 0 :(得分:1)
你是对的,它没有手动命名。像这样的任意文件名通常意味着它们是使用Assetic之类的工具生成的。这主要用于在放到Web上之前必须转换的文件(SASS到CSS; Coffeescript到Javascript)。
Assetic还有一个缓存破坏插件,可根据哈希生成文件名,因此当内容发生变化时,浏览器将被强制获取新文件(这是一种标准的缓存破坏技术)。这很有用,因为静态文件通常具有较长的到期日期,并且没有其他方法可以提醒浏览器文件已更改。