我有一个流星应用程序,我只想在移动平台(iPhone和Android)上发布,因此,当您输入服务器的地址时,您无法使用该应用程序, ,更确切地说,使用JavaScript控制台的调用方法。但服务器部分仍然必须是功能性的。禁用浏览器平台/在浏览器平台上登录
我想,当你键入服务器URL,我也只是显示一个网页,以目前的应用程序,而不是应用程序本身,所以我与铁路由器拨弄:
Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'loading',
notFoundTemplate: 'notFound'
});
if (Meteor.isServer || Meteor.isCordova) {
// mobile app routes and behaviors
}
在布局模板,我
<template name="layout">
<div class="page-container">
{{#if isCordova}}
{{> header}}
{{> flashMessages}}
<div id="main" class="container">
{{> yield}}
</div>
{{else}}
<!-- Static presentation -->
{{/if}}
</div>
</template>
isCordova
是一个简单的用户界面帮手返回Meteor.isCordova
:只有当客户端是科尔多瓦屈服。
现在页面看起来不错而且甜蜜,但下面是:Meteor.loginWithPassword
仍然可以在控制台内调用,并且从那里注册用户基本上可以通过调用服务器从移动应用程序做任何事情方法。据我所知,我的服务器方法确实检查用户是否登录,但无法从哪个平台找出。
有什么办法可以禁用它吗?我的应用强烈依赖于用户地理位置,我不想让他们太容易让他们错位。 (我知道假装位置也可以在手机上实现,但我得承认的东西,如果我曾经想完成这个事情...)
打开控制台不是您希望普通用户所做的事情。请记住,不管你做什么,总会有一种方法来滥用你的服务器API。这只是一个多么艰难的问题。 – 2014-12-18 23:01:07
这就是为什么我假设它太容易/不愿意安装像Geolocater这样的Firefox插件而不是开始插入你的手机。与Snapchat或Tinder等应用程序相同的原因没有浏览器应用程序。智能手机比PC更受控制的环境。 – SylvainB 2014-12-18 23:07:30