Tag: angularjs

保护REST未经身份validation的帐户创build

我正在devise一个REST API,而且我碰到了一个奇怪的问题。 这个API的99%是安全的,但有一些function需要公开访问。 这些涉及帐户创build和初始密码设置。 一旦他们有凭据,他们可以访问其余的API。 允许用户通过registry单创build新帐户的端点是未经validation的。 保护这个端点并不是真的可行,因为我在nodejs上使用了AngularJS,并通过AJAX调用对我的API进行了狗食。 这意味着我无法在任何地方隐藏凭据来访问AccountCreation端点。 目前,我有networkingforms对另一个端点进行AJAX调用,并创build一个表示forms的标记是有效的。 一旦提交该令牌被validation,然后从数据库中删除。 然而,这个令牌端点在代码中显然是可见的,所以在那里没有太多的安全性。 电子邮件validation用于“激活”帐户,然后给用户一次性链接以设置其初始密码,该初始密码也驻留在未经authentication的端点上(但要求在电子邮件中发送令牌)。 我想我的担心是有人发垃圾邮件“CreateAccount”端点,并做一堆帐户。 实际上,我猜他们也可以简单地通过networking表单来做到这一点。 这是一个有效的安全问题吗? 大多数地方如何处理未经身份validation的帐户创buildnetworking表单? 编辑:最终的应用程序将通过https运行

试图链接到angularjs应用程序中的特定页面

我正在使用一个API,它要求我传入一个url作为callback的一部分,以便在它对用户进行身份validation之后,知道把它们作为stream的一部分发送到哪里。 我知道,如果这是发生在前端,我会以某种方式使用$ locationfunctionangular度提供,但callbackurl必须在我的node.js服务器在下面的代码中指定。 我已经链接到我的github url只是为了确保它实际上得到执行,但我需要它链接到我的我的localhost:8887 content.html页面。 我知道这将是localhost:8887/content.html如果我不使用AngularJS,但我不知道用Angular做。 router.post('/add', function(req, res){ var emailAdd = req.body.text; ctxioClient.accounts(ID).connect_tokens().post({callback_url: "https://github.com/ralphie9224", email: emailAdd}, function(err, response){ res.set("Content-Type", "application/json"); res.header("Access-Control-Allow-Origin", "*"); res.send(response.body); console.log("this was the post response: " + response.body); }); });

快速路由:如何在静态文件上返回404错误,并为angular色UI路由器维护HTML5Mode

我有一个AngularJS网页使用ui路由器在HTML5Mode路由,这意味着URL不必有“index.html#”既不是“#”。 为了达到这个目的,我将自己的expressconfiguration为ui-router wiki : app.use('/app', express.static(__dirname + '/../web/app')); app.use('/css', express.static(__dirname + '/../web/css')); app.use('/img', express.static(__dirname + '/../web/img')); app.use('/libs', express.static(__dirname + '/../web/libs')); app.use('/views', express.static(__dirname + '/../web/views')); app.all('/*', function(req, res, next) { res.sendFile(path.resolve(__dirname + '/../web/index.html')); }); 重要的部分是最后一行,所有调用不匹配app / css / img … return index.html 它的工作原理,问题来了,因为我有另一个规则返回公共文件: // Return file app.use('/file', express.static(__dirname + "/../public/", options)); 在angular度的应用程序中,我使用$ http来获取公共文件(文件名是URL上的一个参数),如果文件存在,我使用它: var fileUrl = […]

有angular度的js方式上传图像到谷歌云存储使用签名的url

我试图创build一个meanjs框架的应用程序,用户可以上传图像文件到谷歌云存储上的私人存储桶。 我想采取由js服务器提供身份validation信息到客户端网页的方法,这样客户端网页就可以直接将图像发送到GCS,而不需要使用签名的URL通过我的节点和networking服务器。 谷歌search,我在这里find了一个类似的例子 https://github.com/sfarthin/nodejs-google-cloud-storage 我尝试了示例应用程序,它的工作原理如下:我可以使用我的凭据密钥文件写入我在我的私人回购中创build的存储桶。 – 完美。 唯一的问题是在这个示例应用程序中,作者使用ejs文件作为前端使用某种多部分表单数据和ejs文件。 我想要所有的前端angular度,但我不知道如何做到这一点。 这是从github网站的前端forms,我知道的作品,我想重新实现angular(不知道如何做到这一点)的片段: <h4>Choose a file, click upload, then after the upload finishes you may view it by clicking the link below. A file will be uploaded with the key "<%=fields.key%>".</h4> <form action="https://<%=fields.bucket%>.storage.googleapis.com" method="post" enctype="multipart/form-data"> <input type="hidden" name="key" value="<%=fields.key%>"> <input type="hidden" name="bucket" value="<%=fields.bucket%>"> <input type="hidden" name="GoogleAccessId" value="<%=fields.GoogleAccessId%>"> <input […]

将客户端的图片上传到JSON文件,并通过节点/快捷方式保存到mongo

我正在使用MEAN堆栈。 我使用meanjs.org yeoman生成器创build了一个CRUD模块。 我正在扩展function来保存具有几个子文档的文档。 我的方法基本上是构buildJSON客户端,将其添加到主文档,然后保存主文档。 这很好,除了当我试图build立一个存储图像数据的子文件。 我使用HTML5 FileReader的readAsDataURL来获取图像数据的base64编码版本,并将其存储在名为幻灯片的子文档中。 这似乎工作,因为我可以上传图像,并用ng-repeat在我的对象中看到它们。 当我尝试更新主文档时,它不起作用。 Firefoxdebugging控制台显示如下所示: PUT XHR http:// localhost:3000 / galleries / 55e888e0cec8658491097f12 当我点击这个细节: 请求URL: http:// localhost:3000 / galleries / 55e888e0cec8658491097f12请求方法:PUT状态码:HTTP / 1.1 500内部服务器错误 我得到这样的错误后,没有保存,甚至没有图像添加一个新的子文档。 我的图片都在300K或更less,不是超大,但我想知道是否有一些问题与JSON持有这么多的数据? 或者,也许这是一个问题,mongoose? 我真的不知道如何去debugging后端,这一切都是自动生成的。 这是我的mongoose模式: 'use strict'; /** * Module dependencies. */ var mongoose = require('mongoose'), Schema = mongoose.Schema; //CommentSchema var CommentSchema = new Schema({ […]

Nodejs http://test.dev:3000/api/profile。 没有'Access-Control-Allow-Origin'标题Origin'http:// localhost:9000'

NodeJS – Angularjs CORS问题。 我有问题与REST POST到nodeJS。 REST GET似乎工作正常。 我看到了典型的消息,我似乎无法修复它。 XMLHttpRequest无法加载http://test.dev:3000/api/profile 。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因' http:// localhost:9000 '因此不被允许访问。 该响应具有HTTP状态码400。 NodeJS – 我有以下设置在我的app.js var cors = require('cors') app.use(cors()); // Enables CORS var enableCORS = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); // intercept OPTIONS method if ('OPTIONS' == req.method) { // res.send(200); […]

同构的应用程序没有拆分视图

在过去的几年中,我一直在MEAN栈上构build单页应用程序,并且非常喜欢它。 但是,默认情况下缺乏SEO,有时候一些性能问题对我来说是一个真正的问题。 所以我开始研究构build同构的应用程序。 我检查了这些教程: http://nerds.airbnb.com/isomorphic-javascript-future-web-apps/ http://engineering.devmag.io/post/1/creating-an-isomorphic-blogging-app-using-react-and-flux 用我目前的SPA构build,我有一个主index.html文件(包含body&head,header,footer,nav和脚本来加载),然后我有一个使用Angular的ng-view加载ng-view 。 这是非常容易维护前端的HTML作为一个页面的所有代码将在一个单一的视图文件。 然而,我看过的同构构build(使用React和Flux)的教程将html分割成模块,每个模块都有自己的文件并混合到javascript中。 我觉得这很难看,很难维护。 查看输出文件中的代码,很难看到结果页面的样子。 它看起来不是很有语义,似乎回到了一些老式的在PHP应用程序中构build模块化html的方法,而这些方法有些人曾经做过。 有没有办法维护我们从Angular SPA中获得的简单的路由和html视图结构,同时能够以同构的方式在服务器上呈现? 注意我不是简单地使用PhantomJS之类的东西来渲染服务器上的内容。 我仍然想要完整的同构体验,首先打到页面提供完全呈现的内容,然后后续交互在客户端执行JavaScript。

简单的RequireJS,AngularJS,电子应用,不依赖的依赖

我正在撰写我的第一个Electron / Angular / RequireJS单页桌面应用程序。 我从电子样板开始,效果很好。 但是,我需要添加AngularJs – 锅炉板已经使用RequireJS。 我已经尝试了一些解决scheme,但是我要么得到错误,要么依赖没有被执行。 所以我试图从前面的堆栈溢出问题的简单例子,“ 简单requireJS与angularJS – angular度未定义 ”。 但是,我所看到的是文件正在被parsing,但它从不执行内部的代码。 这几乎就像一个或多个依赖没有得到满足,所以他们不执行。 我的文件如下 – 我已经添加了一些日志,所以我可以很容易地看到执行path。 app.html – 包含RequireJS的起点。 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Electron Boilerplate</title> </head> <body ng-app="ReqApp" ng-controller="GreetCtrl"> <h1>{{greeting}}!</h1> <script data-main="require_config" src="vendor/require.js"></script> </body> </html> require_config.js – 包含RequireJSconfiguration。 console.log("REQUIRE_CONFIG.JS————-"+requirejs.version); requirejs.config({ // alias libraries paths paths: { 'domReady': './vendor/requirejs-domready', 'angular': […]

Node JS安装包,MSB003 – SDKdirvariables缺失

亲爱的Stackoverflowers, 我试图用我的Windows 8.1 x64计算机安装几个与节点JS的包。 这些软件包是“Karma”,“generator-angular”,“generator-meanjs”。 为此我总是这样做: npm install -g karma 或者其他的一样。 不幸的是,我收到这个错误: Your environment has been set up for using Node.js 4.1.1 (x64) and npm. C:\Windows\System32>npm install -g karma npm WARN install Couldn't install optional dependency: Unsupported C:\Program Files\nodejs\karma -> C:\Program Files\nodejs\node_modules\karma\bin\ karma > bufferutil@1.2.1 install C:\Program Files\nodejs\node_modules\karma\node_modul es\bufferutil > node-gyp rebuild C:\Program Files\nodejs\node_modules\karma\node_modules\bufferutil>if not […]

通过咕噜开始量angular器

我试图运行量angular器作为一个吞咽任务,但我不能得到它的工作。 我已经尝试了这样的吞咽量angular器插件: gulp.task('protractor-server', function (done) { var called = false; nodemon({ script: 'test/e2e/server/server.js', stdout: true, ignore: ['app/**', 'node_modules'], watch: 'test/e2e/**/*.js' }) .on('start', function () { if (!called) { done(); } called = true; }); }); gulp.task('run-protractor', ['protractor-server'], function (done) { return gulp.src(['test/e2e/**/*.js']) .pipe(protractor({ configFile: __dirname + '/protractor.conf.js' })) .on('error', function (error) { console.log('gulp error: ', […]