小编Mik*_*ike的帖子

SSI 包括不使用 Apache 在 Debian 上工作

我试图让 SSI 在运行 Apache 的 Debian 上工作,但是.shtml文件没有被解析。从 PHP 文件中,phpinfo()我可以看到加载的模块部分显示以下内容:

mod_mime_xattr mod_mime mod_mime_magic
Run Code Online (Sandbox Code Playgroud)

/etc/apache2/mods-enabled/mime.conf我有(除其他外):

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Run Code Online (Sandbox Code Playgroud)

/etc/apache2/sites-enabled/domain.com.conf(对于有问题的虚拟主机)我有:

<Directory /home/username/public_html>
Options +Includes
allow from all
AllowOverride All 
</Directory>
Run Code Online (Sandbox Code Playgroud)

为了更好地衡量,我还添加了以下内容:

<Directory />
Options +Includes
</directory>
Run Code Online (Sandbox Code Playgroud)

在用户的.htaccess文件中,我尝试添加:

Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
Run Code Online (Sandbox Code Playgroud)

似乎没有任何效果。我怎么能调试呢?

编辑:

这是输出,ls /etc/apache2/mods-enabled/以防万一

actions.conf          dav_svn.load         proxy_balancer.load
actions.load          deflate.conf         proxy.conf
alias.conf            deflate.load         proxy_connect.load
alias.load            dir.conf             proxy_http.load
auth_basic.load       dir.load             proxy.load
auth_digest.load      env.load             python.load
authn_file.load …
Run Code Online (Sandbox Code Playgroud)

debian server-side-includes apache-2.2

12
推荐指数
1
解决办法
9790
查看次数

可以通过 SSH 连接,但不能通过 x2go

我无法使用 DSA 密钥通过 X2GO 连接到远程服务器。通过 SSH 连接工作正常,但是当我尝试与 X2GO 连接时,它会立即进入用户名/密码框,并且不想使用我在选项中指定的私钥。如果我选择“尝试自动登录”,它似乎尝试连接,然后出现以下错误:

没有匹配的公钥
访问被拒绝。可以继续的认证:publickey

它以前可以工作,但我重新安装了客户端操作系统,从那以后我无法连接。我从以前的安装中复制了所有 SSH 密钥。

我也尝试删除我的~/.ssh/known_hosts文件并添加密钥ssh-agent但没有成功,但密钥肯定是正确添加的:

$ ssh-add -l
1024 b9:3d:e5:ef:48:ea:fc:c6:6e:45:89:b5:35:e7:58:39 server.com_dsa (DSA)
Run Code Online (Sandbox Code Playgroud)

请注意,如果我在服务器上启用密码验证,我可以正常连接,但是我想使用 publickey。任何想法如何连接公钥身份验证?

ssh connection nx

7
推荐指数
1
解决办法
4万
查看次数

任何 SATA 驱动器都可以在任何 SATA 端口上工作吗?

我的假设是(除了由于旧操作系统无法读取大型驱动器而造成的限制),只要硬盘驱动器与计算机可用的驱动器类型相同(例如,如果计算机具有 IDE,您可以将任何 IDE 驱动器插入其中,或者如果它有 SATA,您可以将任何 SATA 插入其中)。但是最近我打算购买一台相对较旧的计算机,并想在上面放几个 4TB 驱动器,因为它将用于存储监控视频,所以我需要很少的实际计算能力,但需要大量存储空间。但是销售代表告诉我 4TB 驱动器无法与该服务器配合使用。当我检查规格时,它说:

内部存储容量高达 1.5TB(2 x 750GB 热插拔 3.5" SATA 硬盘)、1 TB(2 x 500 非热插拔 SATA 硬盘)或 600GB(2 x 300GB 热插拔 3.5" SAS 硬盘)

这是因为有一些实际的硬件限制在服务器上放置比这更大的驱动器,如果是这样,会导致这种情况的原因是什么,如果您确实在服务器上放置了更大的驱动器会发生什么?

或者说,这是因为这些是那些当时存在类型的最大驱动器,所以这是他们的规范使用,但它实际上可能把可在物理上可以插入任何驱动器(例如2×4TB的3.5" SATA 驱动器),它们会正常工作吗?

hardware hard-drive sata restrictions

2
推荐指数
2
解决办法
248
查看次数

如何防止 mod_rewrite 解码路径中的字符串?

我正在尝试使用 mod_rewrite 创建一个宁静的 API。

我有一个规则:

RewriteRule v2/(.*)$ v1/index.php?request=$1 [QSA,NC,L]
Run Code Online (Sandbox Code Playgroud)

然而,路径可能包含 base64 编码的字符串(即可以有 + 或 /)并且它们在到达 PHP 之前被解码。

例如,如果我去

/v2/cards/9VwQLli%2Bf0ogFl19AVRFLuztbp8cP0rYCgXBu3H9%2BDc%3DBe
Run Code Online (Sandbox Code Playgroud)

PHP 获取$_REQUEST['request']cards/9VwQLli f0ogFl19AVRFLuztbp8cP0rYCgXBu3H9 Dc=Be'.

更糟糕的是,如果我在其中添加斜杠(例如9VwQLli%2Bf0ogFl19AVRFLuztbp8c%2FP0rYCgXBu3H9%2BDc%3DBe-%2F是斜杠),我会得到 404。

我怎样才能防止这种情况发生?

注意:我尝试了BNE标志,但它们没有任何效果。我想作为一个黑客,我可以将所有+字符_都转换/-,或者甚至是双 url 编码,但我想知道是否有更好的方法。

php mod-rewrite rewrite encoding apache-2.2

1
推荐指数
1
解决办法
2892
查看次数