答案1
是否可以使用网络浏览器找到特定代码的位置?
网页的内容通常是直接从文件中复制的数据,但也常常是事物的综合。
如果您的浏览器下载了用于在浏览器中表示某些内容的所有文件,则可能可以找到代码(至少在您的计算机上)。
如果您的浏览器没有下载所有文件(脚本的情况就是如此,因为最终用户只会发送该脚本的输出),那么您通常无法下载所有文件。
我想要文件位置,即在网站文件夹中哪里可以找到该文件。
URL 结构与目录结构不同,并且通常不能代表文件的实际底层布局。
这并不是说您可能无法了解文件的位置,但是,使用浏览器,您以类似于脚本的方式依赖服务器输出。
例如,在网页中,您可能有:
<link rel="stylesheet" type="text/css href="some/directory/mystyle.css">
在服务器配置中您有:
ProxyPass "/some/directory" "http://www.example.com/"
ProxyPassReverse "/some/directory" "http://www.example.com/"
在这种情况下,任何以/一些/目录路径将被代理到“http://www.example.com/“。这些请求仅仅通过服务器,并且请求的文件甚至可能不在服务器上。
我正在使用一个开源脚本,我想编辑部分代码,但我无法找到[我想要编辑的位置]。
开源项目很方便,因为您可以下载程序或脚本的副本并检查该代码。
在这种情况下,你不需要干扰服务器,因为你可以下载一份phpBB自己查找。如果是旧版本,你可能需要在网上搜索一下。
同样地,绿色风格主题也可以获取以供检查。
例如,在下图中你可以看到div我想找到。我想找到脚本中的“版权”部分的位置。
查看源代码,我们发现主题保存在名为“styles”的目录中。
使用类似工具grep,我们可以在源代码中搜索文本“copyright”。重要的是,类似 grep 的实用程序通常能够显示找到匹配项的源文件。
例如,使用 GNU grep 的搜索可能如下所示:
grep -w "copyright" path/to/file/direct -d recurse
这将输出例如:
path/to/file/direct/subdir/exact.file: some line with copyright in it
我们发现“styles”目录下的几个文件中出现了“copyright”字样:
- 许可证.txt
- 样式配置文件
- 颜色.css
- 通用.css
- 打印.css
- 总体页脚.html
我们可以丢弃许可证.txt经过一番研究,我们发现样式配置文件只是为了提供有关样式本身的一般信息(而不是实际显示的内容)。
因此,似乎直接控制“版权”样式类的文件是:
- 颜色.css
- 通用.css
- 打印.css
检查最后一个文件,总体页脚.html,我们发现“class=copyright”出现在具有替换{CREDIT_LINE}的代码块上方,这似乎可以替代实际的信用文本。
此特定文本未出现在“styles”文件夹中的其他地方,因此使用类似 grep 的实用程序进行扩展,我们发现 {CREDIT_LINE} 出现在函数.php和函数_acp.php,其中保存了打印默认信用文本的实际代码。
总的来说,这些文件控制着版权的外观。
注意:实际上,本节中匹配的文件总数比列出的要多一些,但根据常识,所有文件都很容易丢弃。
我可以改变这一点吗?
对于样式,您可以更改.css 文件。
对于文本,您可以替换 {CREDIT_LINE}总体页脚.html使用您自己的文本(这可能比改变函数中的默认文本更好)。
注意总体页脚.html出现在几个地方:“adm”目录(控制管理控制面板外观)和每个样式的“styles”目录。因此,如果您选择简单地替换 {CREDIT_LINE},则可能需要更改多个文件。
需要注意的是,phpBB 会缓存文件,因此要查看任何页脚更改,您需要:
转到管理控制面板并在“常规”选项卡下选择“清除缓存”。
刷新所有活动页面。
请注意,您可能还需要清除浏览器缓存。
获取 grep
有许多版本的 grep 和类似 grep 的实用程序可供选择。许多版本都依赖于操作系统,但您几乎总是有多种选择。
如果您使用的是类似 Unix 的系统(例如 Linux、Mac、FreeBSD),那么您可能已经可以从命令行使用某个版本的 grep。
如果你使用的是 Windows,个人建议包括GNUWin32 版本的 grep对于命令行实用程序,或者如果你更喜欢 GUI,AstroGrep,这是一个不错的类似 grep 的程序。请注意,如果您愿意,可以同时安装这两个程序。