0

我创建了一个登录表单。每个用户都有个人登录 URL(每个用户的唯一 URL)。例如,唯一的 UL 是这样的:

www.my-domain.com/unique-url-for-user

我把这部分 url:unique-url-for-user连接到 MySQL 并检查是否unique-url-for-user存在。如果存在,请检查用户名和密码是否正确。得到unique-url-for-user我计划使用$_SERVER['QUERY_STRING']

问题是:

  1. 恶意用户可以使用我的方法以某种方式损害网站吗?
  2. 例如,恶意用户可以www.my-domain.com/x从 URL 中键入并暴力破解所有用户帐户吗?
  3. 有什么方法可以代替 $_SERVER['QUERY_STRING'] 使用其他东西来获取实际 URL?

如果用户键入www.my-domain.com/xyz,我得到xyz并且用户不能给我另一个 URL。

4

1 回答 1

0

我不同意@AlienWebguy。

所以你从请求中获得了价值。

当你想在 DB 中使用这个值时,你必须使用 Prepared Statements。

当您想在页面中显示它时:不允许 HTML -- 使用 htmlentities,允许 HTML -- 删除所有脚本,允许 HTML 和脚本 -- 当前用户必须是受信任的用户。

当您想在文件系统中使用它时(不要忘记 open_basedir),请检查允许的目录(真实路径)中的请求文件,并且文件名与预定义的掩码匹配。

PS如果我错了,请纠正我。

于 2013-03-20T01:21:55.413 回答