0

所以我在浏览 freelancer.com 后有这个问题。它(自由职业者)所做的是,每当新用户注册时,它会自动为该用户生成一个 html 页面。比如用户的用户名是 joshm,那么 freelancer 会生成 www.domain.com/u/joshm.html ,不仅会生成这个页面,还会在这个 .html 页面中动态获取内容。

使用这种技术比使用 www.domain.com/users.php?id=1 更好(容易受到 XSS/SQL 注入攻击)。

我的问题是,这个页面是如何生成的?以及如何将信息动态获取到该 HTML 页面?

谢谢。

4

1 回答 1

3

使用这种技术比使用 www.domain.com/users.php?id=1 更好(容易受到 XSS/SQL 注入攻击)。

如果您不知道自己在做什么,这两种技术同样容易受到任何漏洞的影响。使用查询字符串不再不安全。

而且,/u/joshm.html很可能只是一个“面具”。该页面仍然通过数据库查询等动态处理,与users.php?name=joshm. URL 与文件不同。仅仅因为 URL 显示“joshm.html”并不意味着在任何地方的硬盘上物理上都有该名称的文件。Web 服务器可以以任何它喜欢的方式回答对该 URL 的请求,它不必使用磁盘上的文件。Web 服务器是一个监听 80 端口并响应 HTTP 请求的程序。它与文件系统本身无关。.html是一种很好的 RESTful 方式来指定您想要用户 joshm 信息的 HTML 版本;这并不意味着存在该名称的文件。

有关此主题的更多信息,请查看“URL 重写”和“漂亮的 URL”。

于 2013-09-29T11:46:58.860 回答