SvelteKit: 禁止跨站 POST 表单提交
我的设置是一个与Express Server配对的Sveltekit应用程序(为了处理插座).该应用程序具有一些与VITE合作的帖子请求,但是当我与Express运行时不行.我收到错误跨站点帖子表格提交的提交是禁止的,其状态代码为403和推荐人策略"严格 - 原始-erigin-cross-origin". 所以我的问题与这个,但是那里的答案对我不起作用(除了允许CSRF的不安全选项外).我还检查了 sveltekit文档node adapter 我尝试的是: 我将变量ORIGIN=http://localhost:3000 node build/index.js添加到我的.env文件中.我还添加了dotenv作为依赖项,并将dotenv.config()添加到我的服务器文件中.但这没有效果. 设置csrf: {checkOrigin: false} svelte.config.js修复了问题,但这不是安全且不建议的. 在终端中运行node -r dotenv/conf
18 2024-04-23
编程技术问答社区
使用 Node.js 和 Express.js 的 OpenAI 完成流
我正在尝试构建一个chatgpt网站克隆,现在我需要做出流式效果,以显示每个单词的结果. 我的服务器是一个使用 express.js.js framework. P> 这是路线: import express, { Request, Response } from 'express'; import cors from 'cors'; import { Configuration, OpenAIAPI } from 'openai'; // ... app.post('/api/admin/testStream', async (req: Request, res: Response) => { const { password } = req.body; try { if (password !== process.env.ADMIN_PASSWORD) { res.send({ message: 'Incorrec
20 2024-04-23
编程技术问答社区
服务器端套接字缺少存储在自定义命名空间中初始化的客户端套接字(typescript、socketio)中的数据
我正在尝试创建一个连接时连接特定房间的套接字,我希望将其加入的房间设置为客户端套接字的自定义属性. 这里的想法是服务器套接字读取自定义房间参数并将套接字连接到该房间. 但是,服务器没有获取室参数,我在客户端套接字上设置了室内参数(即,在连接上接收到的套接字中,没有自定义数据存储),并且套接字不起作用. 所以在客户端,我有 之类的东西 interface CustomSocket extends Socket { socket_room:string, }; class client_socket { socket:CustomSocket; constructor(socket_room:string){ this.socket = io("/custom_namespace"); this.socket.socket_room = socket_room;
26 2024-04-23
编程技术问答社区
warn-error raised: 错误:监听 EADDRINUSE
expressjs代码: - app.set('port', process.env.PORT || 3000); app.listen(app.get('port')); var io = require('socket.io').listen(app.listen(app.get('port'))); 给出错误: - info - socket.io started warn - error raised: Error: listen EADDRINUSE 错误是因为我在同一端口上设置了app.listen and io.listen吗?我想运行一个Web服务器,并允许使用socket.io. 与服务器进行通信. 解决方案 是的,问题是您要在同一端口上试图让两个单独的服务器收听. 您可以在同一端口上使用以下方式组合Express和socket.io: app.set('port', process.env.PORT || 3000); v
14 2024-04-23
编程技术问答社区
流量增加时出现 Node.js EMFILE 错误
我最近收到了运行Node.js的网站的大量流量.随着流量的增加,它已经开始崩溃了很多,这从未发生过.我的日志中会有以下错误: { [Error: connect EMFILE] code: 'EMFILE', errno: 'EMFILE', syscall: 'connect' } Error: connect EMFILE at errnoException (net.js:670:11) at connect (net.js:548:19) at net.js:607:9 at Array.0 (dns.js:88:18) at EventEmitter._tickCallback (node.js:192:40) 有人知道为什么会崩溃吗?和想法如何解决? 我正在使用express.js和socket.io.它在Ubuntu上运行. 解决方案 EMFILE错误意味着OS拒绝您的程序打开更多文件/插座. 请查看:如
18 2024-04-23
编程技术问答社区
如何在 NodeJs 中运行 SOAP 请求?
起初听起来可能像是一个重复的问题,但是我已经浏览了我发现的所有博客/教程/视频,但实际上没有一个人说您如何运行该请求.示例:对于RESTFUL请求,您可以在nodejs中进行编码,请点击路由(https://localhost/3000/api/getStudent)并获取响应.在代码中您使用router.post('/getStudent',async(req,res)=> { //在这里检查回复或操纵 }) 但是在编码所有功能之后,在此处 - -to-to-to-soap-requests-with-node-js-4a9627070eb6 我在哪里称呼该功能,如何传递参数并测试它?我该如何检查响应? 解决方案 要将其放置在您要问的上下文中,SOAP服务只是一台服务器,以侦听具有XML有效载荷的POST请求的地址.就是这样. 因此,如果您的SOAP Web服务地址为http://example.com/service_endpoint,则可以通过在此地
30 2024-04-23
编程技术问答社区
在 Express 中跨子域会话
我正在使用Node的Express中的VHOST功能来管理我的应用程序的多个子域.该应用使用相同的会话秘密和键,我相信我使用了正确的会话cookie设置: cookie: { path : '/', domain : '.example.com', httpOnly : false, maxAge : 1000*60*60*24*30*12 //one year(ish) } 我在常规站点上设置了一个会话变量,该站点不确定,例如 http://example.com 喜欢: req.session.rep_id = rep._id; res.redirect('https://' + company.name + '.example.com/'); 但是,当我将它们重定向到subdomain.example.com时,会话没有rep_id键设置为任何东
14 2024-04-22
编程技术问答社区
如何在快速会话中使用 cookie-connect.sid 即将被拒绝
所以在我的app.js文件中我有一个:app.use(session({secret: 'mySecret', resave: false, saveUninitialized: false})); 这可以正常工作,但提出了警告: cookie" connect.sid"将很快被拒绝,因为它具有 " samesite"属性设置为"无"或无效的值,没有 "安全"属性.要了解有关" Samesite"属性的更多信息,请阅读 然后它将随机停止工作.如果我更改会话:app.use(session({secret: 'mySecret', resave: false, saveUninitialized: false, sameSite: true, cookie: {secure: true}}));它变得未定义. 我试图保存2个不同的ID:req.session.qrid and req.session.visitid; 它用于许多帖子请求中.我该怎么做才能完成这项工
24 2024-04-22
编程技术问答社区
ExpressJS 设置/获取/使用 cookie
无法在请求中设置cookie. 我用 设置了我的cookie response.cookie('name', 'My name'); 我想以这种方式获得我的cookie,并且以前起作用,但是我更改了Express配置,我不知道现在似乎是问题所在. request.cookies is and empty Object 我的快递配置: var express = require('express'), api = require('./routes/api'); var app = express(); app.configure(function () { app.set('port', process.env.PORT || 3000); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.json()); //ap
24 2024-04-22
编程技术问答社区
express-session和cookie-session有什么区别?
我是新手, express .如 Express 4.x 已删除了捆绑的中间Wares. 我要使用的任何中间件都应需要.当我阅读 express-session 和 cookie-session 在github上,我很难理解差异. 我试图编写一些简单的代码来弄清楚它.我为每个中间件跑了两次. var express = require('express') , cookieParser = require('cookie-parser') , session = require('cookie-session') , express_sess = require('express-session') , app = express(); app.use(cookieParser()) app.use(session({ keys: ['abc'], name: 'user' })); //app.use(express_sess({ secret: '
18 2024-04-22
编程技术问答社区
C#和Node.js/crypto的常见加密/解密代码示例
我正在尝试使用IIS中的应用程序请求路由(ARR)将一组路径传递到node.js网站.我的问题是能够在任一侧获得/设置身份验证票. 我真的需要一个简单的加密/解密对示例,该示例适用于C#and Node.js,即可开箱即用,两者都具有相同的结果.在接下来几天的时间允许的情况下,我将自己处理这个问题,如果没有人提出答案,请回答. 我的目的是将节点侧写为node.js侧的连接/表达模块.我已经在ASP.NET解决方案中进行了自定义身份验证,并且可以轻松地用两个平台可以安全的方法替换我当前的方法(只要它们共享相同的密钥). 当前代码在AccountController.cs 中创建身份验证cookie private void ProcessUserLogin(MyEntityModel db, SiteUser user, bool remember=false) { var roles = String.Join("|", value:user.SiteRoles
10 2024-04-18
编程技术问答社区
如何知道哪个按钮被按下了?
我正在学习Node.js和Express框架的基础知识. 我有一个带有两个按钮的简单页面: butt1 butt2 我想在控制台中看到哪个按钮: router.post('/', function(req, res, next) { console.log(req.body.name); res.render('home2', { title: 'post' }); }); 在控制台中,我只看到 undefined 如何访问按钮的名称? 解决方案 我认为这对您有帮助. butt1
8 2024-04-05
编程技术问答社区
React+ExpressJS部署
我正在尝试测试我的构建文件是否还可以,因此我所做的就是构建客户端并将构建目录移至服务器. 在后端=>的index.js中打开构建文件夹的html.(我不知道这是正确的选择) app.get("/", function (req, res) { res.sendFile(__dirname + "/build/index.html"); }); 遵循文件工结构 -client =>src(react Code) -server =>Build(which is from react 'npm run build') =>BackendCode 我已经实现了登录登录路线的登录登录路线,一个用于登录 获取: router.get("/login", async (req, res) => { console.log("getLogin ses.user: ", req.session.user); console.log("getLogin se
12 2024-04-05
编程技术问答社区
如何将数据从XLSX或CSV文件中提取为JSON?
我正在制作一个应用程序,在该应用程序中,用户可以从Frontend上传XLSX或CSV文件,并将文件提交给使用NodeJS制造的后端,然后表示后端本身中的数据.但是,在回收后端的数据时, 我以下面的格式得到它 input1: { name: 'report.xlsx', data: , size: 5425, encoding: '7bit', tempFilePath: '', truncated: false, mimetype: 'application/vnd.ope
14 2024-04-04
编程技术问答社区
如何在MongoDB中设置缓冲区偏移范围,它不允许在BSON对象中上传超过16MB的文件?
我的流程和代码: 从表单数据上传图像并将图像的BSON字符串存储到数据库中,以下是步骤和代码: 从multer上传上传文件 从文件系统读取文件-FS 将图像内容字符串转换为base64字符串 将base64字符串转换为bson字符串 配置: node -v: v12.13.1 npm -v: 6.12.1 fs-extra: ^8.1.0 multer: ^1.4.2 代码: var upload = multer({ storage: multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'uploads') }, filename: function (req, file, cb) { cb(null, file.fieldname + '-' + Dat
10 2024-04-04
编程技术问答社区
如何用NodeJS向浏览器输出一个PDF缓冲区?
所以我正在使用 html-pdf 转换我的html,这是我的代码: var pdf = require('html-pdf') var html = 'somehtmlfile.html' pdf.create(html).toBuffer(function (err, buffer) { if (err) { console.log(err) } else { console.log(buffer) var pdfBuffer = new Buffer(buffer) res.setHeader('Content-disposition', 'inline; filename="test.pdf"'); res.setHeader('Content-type', 'application/pdf'); res.send(pdfB
10 2024-04-04
编程技术问答社区
使用Express js在浏览器中显示Pdf
我试图通过Express以浏览器显示的方式通过Express提供PDF: app.post('/asset', function(request, response){ var tempFile="/home/applmgr/Desktop/123456.pdf"; fs.readFile(tempFile, function (err,data){ response.contentType("application/pdf"); response.send(data); }); }); 但是,浏览器显示二进制内容.如何正确处理此操作? 解决方案 我测试了您的代码,它在Chrome中对我有用:一个更改: 将app.post更改为app.get 编辑:由于您似乎认为只有后服务器是个好主意http-and-rest/" rel =" noreferrer"> http://net.tutsplus.com/tutorials/other
8 2024-04-04
编程技术问答社区
browserify '错误。无法找到模块'在试图修复'未捕获的引用错误:require未定义'。
我从这个线程中遇到与@racheld非常相似或几乎是确切的问题( node.js + angular =未接收参考:未定义),)有关未介绍的参考误差.但是,当我在此处指定的"浏览"命令运行时(myname@compname:~/workspace/MyApp $ browserify /app/scripts/controllers/main.js > bundle.js 我得到了一个"找不到模块"错误 Error: Cannot find module '/app/scripts/controllers/main.js' from '/Users/myname/workspace/MyApp' at /usr/local/lib/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:35:25 at load (/usr/local/lib/node_m
10 2024-04-04
编程技术问答社区
如何在ExpressJS+NodeJS中禁用网页缓存?
默认情况下,我的ExpressJS应用程序的浏览器caches网页. 这会给我的登录系统带来问题(未登录的用户可以打开用户登录的旧缓存页面). 如何禁用此缓存? 编辑: 我的app.js(主文件): var express = require('express'); var http = require('http'); var path = require('path'); var store = require('./routes/store'); var app = express(); app.configure(function(){ app.set('port', process.env.PORT || 3012); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.
6 2024-04-04
编程技术问答社区
快递静态网络请求停留在 "待定 "状态
这已经工作了几个月了,我认为我没有任何更改,但是使用express.static,浏览器会无限地显示"待定". 这是代码: const app = express(); app.use('/', express.static( path.resolve('./build/web'), { dotfiles: 'allow' }, )); 这是Chrome网络选项卡的屏幕截图: 仅main.js有这个问题.如果我直接打开文件,则可以正常运行.这也发生在Firefox中,因此我怀疑这是一个节点/Express问题.我有关闭的adblocker. i ran DEBUG=* node server.js,输出为: [0] [1] Thu, 27 Aug 2020 07:02:15 GMT send stat "/path/build/web/post/101" [0] [1] /js/main.js?v=223 [0] [1] Th
10 2024-04-04
编程技术问答社区