【问题标题】:Is there a way to forbid users from calling other php files? [duplicate]有没有办法禁止用户调用其他 php 文件? [复制]
【发布时间】:2025-12-17 05:05:02
【问题描述】:

我是 web 开发的新手,我决定学习一些 html-php。 我注意到提交表单时,用户实际上可以单击“检查元素”并在提交表单之前更改表单操作。作为开发人员有没有办法解决这个问题?

example

编辑:这被标记为重复。我的问题不是如何阻止用户更改浏览器上的 html。我的问题是如何解决这个问题,确保安全,不要让我的 php 脚本在用户想要时运行。

【问题讨论】:

  • @LeeKowalkowski — CSRF 保护在这种情况下无济于事。这是关于不信任用户,而不是阻止第三方欺骗受信任的用户提交不可信的数据。
  • @LeeKowalkowski — 如果(用户不应该知道其他形式的令牌是什么)是真的,那么,为了解决这个问题,你需要 Authn/验证不是 CSRF。 (你也应该有 CSRF 来防御 CERF 攻击,但这不是 CSRF 攻击)。
  • @LeeKowalkowski — 这两个问题都是关于用户修改页面的 DOM 以提交包含意外内容的 HTTP 请求。它们之间没有显着差异。
  • @Quentin - 不,授权和身份验证可能仍然通过,用户可以尝试通过 CSRF。该网站甚至可能不需要授权或身份验证......
  • @LeeKowalkowski — 否。CSRF 攻击涉及用户被恶意第三方欺骗提交错误请求。这里不涉及第三方。对 CSRF 攻击的防御依赖于第三方无法获得令牌,令牌是服务器和用户之间的秘密。当攻击者用户时它们无法工作,因为你告诉用户的任何秘密也告诉了攻击者。

标签: php element form-submit inspect


【解决方案1】:

不,因为用户可以在浏览器中做任何他们喜欢的事情。这不是特定于 PHP 的。但大概它不会很好地工作,因为没有设置其他 PHP 脚本来处理特定的表单提交(或者可能根本没有任何表单提交)。

是的,这可能是一个攻击媒介,但希望您设置脚本以正确验证它们获得的输入。

【讨论】:

  • 是的。验证输入、放置用户不应在登录后执行的脚本、速率限制负载敏感端点等。
最近更新 更多