suPHP 有安全性吗?

2024-02-04

我不久前问过这个问题,尽管我提供了一些赏金,但我从未得到太多答案(请参阅here https://stackoverflow.com/questions/8032140/implementing-log-in-alongside-suphp)。更一般地说,我想知道suPHP是否有安全概念?有什么可以阻止任何人去

www.example.com/rm-f-r.php

or

www.example.com/return_some_iamge.php

因为这些脚本是使用用户的权限执行的,所以它本质上被授予了访问权限。


EDIT为了详细说明上述问题,我的问题是一个概念性的问题。假设我们有一个文件位于/home/user/test.php。让这个文件做任何事情(rm -f -r /,获取并返回图片,重新启动计算机...)如果我将浏览器指向该文件(假设包含的文件夹是 Apache 下启用的站点),我如何告诉浏览器只让该文件的所有者执行它?


EDIT 2:我从未明确指出这一点,因为我假设 suPHP 仅与 apache(即 Web 浏览器)一起使用,但我正在谈论仅使用浏览器对 Linux 用户进行身份验证。如果我们不进行身份验证,那么从技术上讲,任何人都可以访问服务器上的任何脚本(对于网站,这不是问题,因为他们始终将权限设置为0644,所以基本上全世界都可以看到。另一方面,PHP 文件的权限通常设置为0700)


suPHP 的作用是 PHP 运行时在编写该文件的用户的许可下执行.php文件。这意味着 PHP 程序作者只能读取和写入他自己拥有或有权访问的文件。

如果您将 PHP 文件放在您的网站上,您就可以让访问您网站的任何人公开运行该文件 -使用 suPHP 不会改变这一点。如果不登录您的网站,所有网络用户实际上都是匿名的,并且无法可靠地识别个人身份。 suPHP 仅控制脚本执行时所拥有的本地权限,它并不打算引入任何形式的 Web 用户身份验证或授权。

如果您希望控制哪些用户可以实际运行脚本,您需要实现一些登录功能并强制用户登录您的站点。然后添加对敏感 PHP 脚本(或 Apache 配置)的检查,如果当前登录的 Web 用户不是您希望执行该脚本的用户,这将使其中止请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

suPHP 有安全性吗? 的相关文章

  • 如何列出静态链接的 python 版本中可用的所有 openssl 密码?

    在python 2 7 8到2 7 9升级中 ssl模块从使用更改为 DEFAULT CIPHERS DEFAULT aNULL eNULL LOW EXPORT SSLv2 to DEFAULT CIPHERS ECDH AESGCM D
  • ActiveMQ发送ObjectMessage

    我正在使用 ActiveMQ 在我当前的项目中实现消息系统 我需要发送和接收 Java 对象 而不是简单的文本或二进制消息 Java 对象 我的消息对象 根据需要实现了 Serialized 接口 ActiveMQ 的最新版本添加了一些安全
  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 如何对 Firebase 中托管的静态网站进行 IP 白名单? / 是否有用于 Firebase 托管的 WAF?

    我有一个在 Firebase 中托管的静态网站 我可以很好地附加一个自定义域 我想将对我的网站的访问限制在特定范围的 IP 范围内 我知道在 GCP 中 Google Cloud Armor 可以做到这一点 但 Cloud Armor 仅适
  • 警告:您的 git 版本是 1.9.3。存在严重的安全漏洞

    我在部署到 Heroku 期间收到有关 git 1 9 3 严重安全漏洞的警告 我尝试通过 homebrew 更新 git 但发现 git 最初并不是通过 homebrew 安装的 然后我通过自制程序安装了它 brew update bre
  • 为什么将 MySQL 凭据放在 www 目录之外? [复制]

    这个问题在这里已经有答案了 可能的重复 将核心类放在 Web 根目录之上 好还是坏主意 https stackoverflow com questions 3648739 putting core classes above the web
  • 是否有一种加密技术可以将 8 位数字变成 10 或 11 位或更少的数字?

    我见过的许多加密技术都可以轻松加密一个简单的 8 位数字 如 12345678 但结果通常是 8745b34097af8bc9de087e98deb8707aac8797d097f 编造的 但你明白了 有没有办法加密这个 8 位数字 但生成
  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • 清理 html 字符串中的所有脚本

    HTML5 剪贴板很棒 但我正在寻找一种使其安全的方法 用户正在将文本 html 粘贴到我的网页中 这允许他们粘贴图像 表格等 我正在寻找一种方法 在将粘贴的内容添加到页面之前删除所有脚本 我需要删除
  • 在 JavaScript 中生成 RSA 密钥对

    我最近发现了这个 RSA JavaScript 库 http www ohdave com rsa http www ohdave com rsa 但是 它要求预先生成密钥 这是我的问题 问题 我想在 JavaScript 中生成 RSA
  • PHP - hash_pbkdf2 函数

    我正在尝试使用此 php 函数执行一个函数来哈希密码 http be php net manual en function hash pbkdf2 php http be php net manual en function hash pb
  • Rails 安全:完全避免大规模分配

    我倾向于不需要批量分配 http guides rubyonrails org security html mass assignment我的生产代码中的功能 在我的测试代码中 我经常使用它 但在这些情况下我do想要设置任意列 因此 如果在
  • 使用内联样式有哪些风险?

    A 内容安全政策 https developer mozilla org en US docs Web HTTP CSP with a default src or style src指令将阻止内联样式应用于
  • SSLHandshakeException:证书中的主机名不匹配

    我正在编写一个系统 必须向具有自签名证书的服务器 一个名为 ARX 的第三方程序 当前在开发过程中在本地主机上运行 进行多部分发布 我试图找到它的证书 但只能找到三个不同的jks文件 服务器 jks 服务器信任 jks and 服务器ca
  • 同源政策目的可疑

    正如我所读到的 同源策略是防止源自 邪恶 域 A 的脚本向 良好 域 B 发出请求 换句话说 跨站点请求伪造 玩了一下我了解到的Access Control Allow Origin标头和CORS据我了解 它允许从好域 B 指定服务器 域
  • PHP 的password_verify() 是否可以抵御极长的密码(DoS 攻击)?

    一般攻击场景 2013 年 Django 存在一个普遍漏洞 攻击者可以通过非常大的密码创建极其密集的 CPU 计算 请参阅此处的安全通知 https www djangoproject com weblog 2013 sep 15 secu
  • 何时从容器管理的安全性转向 Apache Shiro、Spring Security 等替代方案?

    我正在尝试保护使用 JSF2 0 构建的应用程序的安全 我很困惑人们什么时候会选择使用 Shiro Spring Security 或 owasp 的 esapi 等安全替代方案 而放弃容器管理的安全性 看过一些相关问题 https sta
  • Mysql加密/存储敏感数据,

    我的 PHP 网站有以下内容 启用 SSL 饼干 session set cookie params cookieParams lifetime cookieParams path cookieParams domain secure ht
  • 为什么用户名不能更改?

    我到处都读到 并在实践中看到 用户名不应该更改 当我问为什么时 给出的理由是 安全 我一直在寻找关于为什么更改用户名不安全的明确答案 但我似乎找不到答案 这里有哪位有安全经验的人可以回答这个问题吗 注 如果您不知道答案 请不要猜测 我自己也
  • 根据 AD 组成员身份限制对 WPF 视图的访问

    我们有一个 WPF 应用程序 我们希望根据用户的 AD 组成员身份限制对应用程序的访问 我们可以将其作为每个视图的属性 或者作为用户启动应用程序时的检查吗 任何代码示例将不胜感激 在 NET 3 5 及更高版本上执行此操作的最简单方法是使用

随机推荐

  • 在 JavaScript 中将字符串转换为日期

    我有一个看起来像这样的字符串 2013 1 16 有什么方法可以快速将其转换为 JavaScript 中的日期对象 例如 convertToDateTime 2013 1 16 yyyy MM dd 这很简单 var myDate new
  • 通过python获取{}内文件的路径

    我有一个代码 我只想返回 X Y Z C X Y Z D X Y Z E 无论 tree 之后是什么 它实际上应该读取文件 忽略所有内容 直到看到 WFS 然后获取 中的信息 找到树 然后给我返回的路径 我是 Python 初学者 匹配模式
  • 如何从 JSF 组件获取验证状态

    我想将一个特殊的错误类设置为 div 块到我的 JSF 自定义组件中 如果此字段验证失败 我想将 errorClass 设置为 错误
  • log4j-over-slf4j.jar 和 slf4j-log4j12.jar 冲突...但我没有 log4j-over-slf4j

    我在我的 Maven 项目中使用 SLF4J 和 log4j 当我在eclipse中的tomcat中运行项目以及使用tomcat maven插件在maven中运行项目时 一切正常 但是当我将战争放入我的 tomcat 生产服务器时 该项目无
  • 如何检查对象是否具有存储的属性?

    我需要检查对象的类是否有可用于赋值的成员 假设有一个类 class MyClass NSObject var myVar AnyObject 我尝试了这种 objC 风格 但 Swift 中的属性是不同的野兽 第二行总是返回 false l
  • 使用 Gradle 选择带有 Branchname 的版本作为分类器

    我正在评估我们项目的 gradle 我们有多个包含小型实用程序库的小项目 大多数项目都位于额外的存储库中 无法使用共享的构建脚本 当跨多个项目工作时 使用相同的功能分支 我已经设法让 gradle 将分支名称作为分类器放入创建的 Maven
  • Tree 实现 Foldable FoldMap 时,Foldr/Foldl 是免费的吗?

    我是 Haskell 的初学者 正在从 Learn You a Haskell 学习 有件事我不明白Tree实施Foldable instance F Foldable Tree where foldMap f Empty mempty f
  • 使用 Visual Studio 2008 使用 C++ 连接到 MS Access 数据库

    我需要一些认真的帮助来尝试使用 VS 2008 的 C 连接到 Access 数据库 我已经在 C 中做到了这一点 但我无法在 C 中弄清楚这一点 我需要使用 C 进行连接 因为我正在使用预编译的 C 代码获取数据 我真的很感激一些帮助 谢
  • 在WPF应用程序中动态创建按钮列表[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我即将开发我的第一个 WPF 我想获得按钮列表 这些按钮由 WPF 顶部的一个 添加 按钮生成 因此 当我按 添加 时 列表中会出现一
  • 任务控制选项 - 自定义条件 - 在先前失败或超时时运行任务

    是否有一个选项可以设置自定义条件来测试上一个任务是否失败或超时 目前 我正在使用Only when a previous task has failed当任务失败时它会起作用 如果任务超时 则不会将其视为错误并会跳过 那么我需要一个自定义条
  • Dart 确保类中的可选布尔值不为空

    由于它是一个可选值 有时会为空 那么如何避免它抛出错误呢 这是唯一的方法吗 class QText extends StatelessWidget QText this text this size this bold final Stri
  • 将第二个项目添加到堆栈窗格时,第一个项目会丢失其 Event/MouseOn。为什么?我该如何修复? JavaFX

    我有一个堆栈窗格 当我将第二个项目添加到堆栈窗格时 两者都会显示 但我无法再单击第一个项目 它变得 不可点击 我在 setonmouse 中定义的内容不起作用 它适用于我的第二个项目 如果我切换它们在堆栈窗格中的顺序 则另一个可以工作 但不
  • 在 OS X 中创建目录硬链接的 Unix 命令是什么?

    如何在 OS X 中创建指向目录的硬链接 而不是符号链接或 Mac OS 别名 我已经知道命令 ln target destination 但仅当目标是文件时才有效 我知道 Mac OS 与其他 Unix 环境不同 允许硬链接到文件夹 例如
  • JMS事务

    数据库事务是一个熟悉的概念 try updateDB commit catch error rollback 如果发生任何错误 updateDB 所做的任何更改都将被丢弃 我想知道消息队列事务回滚将撤消什么 try EDIT swapped
  • 角度引导模式在输入点击时打开

    在我的控制器中我有方法 scope openJukeboxesModalToGroup 打开模式弹出窗口 scope search Jukeboxes 在页面上搜索 scope keyPressed 捕获按键 在带有表格的部分
  • Git 包文件被截断

    当尝试将 Egit 与 Eclipse 一起使用时 我随机收到错误 包文件被截断 我不知道这是如何以及为何发生的 即使再次导入项目也没有帮助 这里有什么问题 我遇到了同样的错误 并认识到当我尝试在 Eclipse 中导入并打开本地 git
  • Maven读取属性文件中的环境变量

    如何读取属性文件中的系统环境变量 我正在使用 MyBatis maven 插件进行数据库迁移 MyBatis 根据环境使用属性文件 我正在尝试读取属性文件中的环境变量 例如 开发 property username env username
  • 在 Firefox 中使用 morris.js 脚本不再回答任何错误

    我正在使用 morris js 库http www oesmith co uk morris js http www oesmith co uk morris js 为了为网站创建图表 它适用于 Opera Internet Explore
  • 如何在Python中使用subprocess.call杀死一个调用的子进程? [复制]

    这个问题在这里已经有答案了 我正在使用调用命令 subprocess call cmd shell True 该命令不会自动终止 怎么杀掉它呢 Since subprocess call等待命令完成 您无法以编程方式终止它 您唯一的办法是通
  • suPHP 有安全性吗?

    我不久前问过这个问题 尽管我提供了一些赏金 但我从未得到太多答案 请参阅here https stackoverflow com questions 8032140 implementing log in alongside suphp 更