当前位置: 首页 > 面试题库 >

Express res.sendfile抛出禁止错误

司寇高峯
2023-03-14
问题内容

我有以下代码:

res.sendfile( '../../temp/index.html' )

但是,它引发此错误:

Error: Forbidden
at SendStream.error (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/send/lib/send.js:145:16)
at SendStream.pipe (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/send/lib/send.js:307:39)
at ServerResponse.res.sendfile (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/response.js:339:8)
at exports.boot (/Users/Oliver/Development/Personal/Reader/server/config/routes.js:18:9)
at callbacks (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:161:37)
at param (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:135:11)
at pass (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:142:5)
at Router._dispatch (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:170:5)
at Object.router (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:33:10)
at next (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/connect/lib/proto.js:199:15)

谁能告诉我为什么会这样吗?


问题答案:

我相信这是因为相对的路径。“
../”被认为是恶意的。首先解析本地路径,然后调用res.sendfile。您可以path.resolve事先解析路径。

var path = require('path');
res.sendFile(path.resolve('temp/index.html'));


 类似资料:
  • 我有这个代码: 但是,它会抛出以下错误: 有人能告诉我为什么会这样吗?

  • 我试图从https://www.ecfr.gov/cgi-bin/ecfr?page=browse使用python中的请求模块获取数据 我还要求使用用户代理和头信息中的所有参数(我在开发人员工具中看到)。 我已经尝试使用免费代理/旋转用户头/cookie和我能得到的一切。但不知何故,网站能够知道我没有使用标题。 在html回应中--我看到那个网站要求完成验证码。 我能跳过吗?

  • 问题内容: 我让库的其余部分完全正常工作,只是试图生成api键,并通过ajax执行时禁止抛出403。 我跟踪到REST_Controller下的_remap函数..好像我不正确地调用url一样? 工作流程: 他们注册一个帐户后,单击“生成密钥”后,将在site1.com上使用以下表格。 ajax呼叫: GitHub上的REST-SERVER:https : //github.com/philstu

  • Spring我是新来的。我试图在我的数据库中添加一个新目标。在我添加spring security之前,它是有效的,但现在如果我单击添加新目标,我有一个问题: 出现意外错误(类型=禁止,状态=403)。被禁止的 我的goat-add.html: WebSecurity配置类: 我的控制器: 我读到这个问题可以是如果不使用csrf,但我不明白我怎么能解决它。 所有代码:https://github.

  • 最近,我一直试图在CentOS服务器上使用< code>mod_wsgi部署django站点,但到目前为止,当我试图通过我的笔记本电脑访问Django站点时,网页只显示< code >错误:403禁止您没有权限在此服务器上访问/ 除了阅读所有显而易见的文档之外,我还研究了前面的这些问题: Django mod_wsgi Apache = 403 禁止 错误消息“禁止您无权访问 / 在此服务器上”

  • 我对Nexus 5x(7.1.2)和Google Pixel(7.1.1)上Nested ScrollView的抛出有一个奇怪的问题。在其他操作系统版本上,它工作正常。 有时在抬起手指后,动画会立即停止。它卡住了,接下来的几次投掷可能也会停止。为了复制它,你需要上下投掷几次。 在日志中,这些投掷在速度、方向等方面看起来几乎相同,所以我找不到这个错误的真正原因。 此外,<code>NestedScr