我正在使用contentEditable div来使用户能够格式化他们的文章.我对html内容进行了一些处理并坚持下去.
ng-bind-html当观众想要阅读文章时,我用它来渲染结果.我不想使用,$sce.trustAsHtml因为我仍然希望AngularJS清理用户输入,因为我不信任所有输入.我想要的只是AngularJS清理以允许元素的一些属性.它似乎剥离了ID和数据属性.(但保留课程和头衔).
数据属性是否有害?攻击者如何使用它们来攻击最终用户?有没有办法安全地使用它们,让Angular不会剥离它们?
这是一个例子:
article.body = '<p data-guid="afasfa-afasfafas-faf-asasf" class="guid-tagged">Yes this is my article</p>';
<article ng-bind-html='article.body'></article>
Run Code Online (Sandbox Code Playgroud)
这是文章标签内的Angular输出(注意剥离的数据属性):
<p class="guid-tagged">Yes this is my article</p>
Run Code Online (Sandbox Code Playgroud)
谢谢
这里仍然是Containers和Kubernetes的新手,但我想在Google Containers Engine上部署一个集群,并且想知道你是否可以使用docker hub托管图像来部署容器,所以在我的.yaml配置文件中我会说:
...
image: hub.docker.com/r/my-team/my-image:latest
...
Run Code Online (Sandbox Code Playgroud)
这可能吗?或者必须在本地下载/构建映像,然后将其上传到Google Containers Registery?
非常感谢
docker kubernetes dockerhub google-kubernetes-engine google-container-registry
我开始使用Google Cloud Endpoints,并且在指定多个服务类时遇到了问题.知道如何让这个工作吗?
ApiConfigurationError: Attempting to implement service myservice, version v1, with multiple classes that aren't compatible. See docstring for api() for examples how to implement a multi-class API.
Run Code Online (Sandbox Code Playgroud)
这就是我创建端点服务器的方式.
AVAILABLE_SERVICES = [
FirstService,
SecondService
]
app = endpoints.api_server(AVAILABLE_SERVICES)
Run Code Online (Sandbox Code Playgroud)
对于我正在做的每个服务类:
@endpoints.api(name='myservice', version='v1', description='MyService API')
class FirstService(remote.Service):
...
@endpoints.api(name='myservice', version='v1', description='MyService API')
class SecondService(remote.Service):
...
Run Code Online (Sandbox Code Playgroud)
这些中的每一个都完美地分开工作,但我不确定如何在组合它们时让它们工作.
非常感谢.
如何对指令中定义的函数进行单元测试,如下所示myFunc?
angular.module('myApp')
.directive('myDir', [function () {
var myFunc = function (arg) {
// code in here.
};
return {
restrict: 'A',
scope: { },
link: function (scope, element) {
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
或者,如何定义我不希望在指令之外公开的可测试指令特定函数?
我使用sw-precache以及sw-toolbox允许的角度应用的缓存页面的离线浏览.
该应用程序通过节点快速服务器提供.
我们遇到的一个问题是,index.html有时似乎没有在缓存中更新,尽管其他资产已在激活新服务工作者时更新.
这会使用户过时index.html,在这种情况下尝试加载不再存在的版本化资产/scripts/a387fbeb.modules.js.
我不完全确定发生了什么,因为似乎在index.html已正确更新的不同浏览器上具有相同的哈希值.
(缓存2cdd5371d1201f857054a716570c1564哈希)包括:
<script src="scripts/a387fbeb.modules.js"></script>
Run Code Online (Sandbox Code Playgroud)
在其内容中.(此文件不再存在于缓存中或远程上).
(缓存相同2cdd5371d1201f857054a716570c1564)包括:
<script src="scripts/cec2b711.modules.js"></script>
Run Code Online (Sandbox Code Playgroud)
这两个具有相同的缓存,尽管返回给浏览器的内容是不同的!
我应该怎么做?这是否意味着sw-precache当新的SW激活时,不保证原子缓存破坏?怎么能保护这个呢?
如果这些有帮助,这是生成的service-worker.js文件sw-precache.
注意:我意识到我可以使用remoteFirst策略(至少为index.html)来避免这种情况.但我仍然希望了解并找出一种使用cacheFirst策略来充分发挥性能的方法.
注2:我在其他相关问题中看到,可以更改缓存的名称以强制破坏所有旧缓存.但这似乎超越了sw-precache仅破坏更新内容的想法?这是要走的路吗?
注3:请注意,即使我很难重新加载网站被破坏的浏览器.该站点可以工作,因为它会跳过服务工作者缓存,但缓存仍然是错误的 - 服务工作者似乎没有激活 - 我猜是因为这个特定的SW已经被激活但是在正确破坏缓存时失败了.随后的非硬刷新访问仍然会看到破碎index.html.
javascript offline-caching service-worker sw-precache sw-toolbox
如何配置sw-precache index.html为多个动态路由服务?
这适用于具有index.html入口点的Angular应用程序.在当前设置允许该应用只能通过是accessable下线/.因此,如果用户/articles/list/popular在离线时作为入口点,他们将无法浏览它,并且会给您提供离线消息.(虽然在线时,他们将index.html作为入口点在所有请求上提供相同的文件)
可以使用dynamicUrlToDependencies来做到这一点吗?或者是否需要通过编写单独的SW脚本来处理?像下面这样的东西会怎么做?
function serveIndexCacheFirst() {
var request = new Request(INDEX_URL);
return toolbox.cacheFirst(request);
}
toolbox.router.get(
'(/articles/list/.+)|(/profiles/.+)(other-patterns)',
serveIndexCacheFirst);
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Kubernetes在Google Cloud Containers上运行的docker容器的开头运行shell脚本.我的app目录的结构是这样的.我想在容器的开头运行prod_start.sh脚本(我不想把它作为Dockerfile的一部分).当前设置无法启动容器Command not found file ./prod_start.sh does not exist.知道如何解决这个问题吗?
app/
...
Dockerfile
prod_start.sh
web-controller.yaml
Gemfile
...
Run Code Online (Sandbox Code Playgroud)
Dockerfile
FROM ruby
RUN mkdir /backend
WORKDIR /backend
ADD Gemfile /backend/Gemfile
ADD Gemfile.lock /backend/Gemfile.lock
RUN bundle install
Run Code Online (Sandbox Code Playgroud)
网络controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: backend
labels:
app: myapp
tier: backend
spec:
replicas: 1
selector:
app: myapp
tier: backend
template:
metadata:
labels:
app: myapp
tier: backend
spec:
volumes:
- name: secrets
secret:
secretName: secrets
containers:
- name: my-backend
command: ['./prod_start.sh']
image: gcr.io/myapp-id/myapp-backend:v1 …Run Code Online (Sandbox Code Playgroud) 我正在使用AppEngine Cloud Endpoints与Javascript客户端和Google+登录,我正在使用endpoints.get_current_user().有没有办法检查用户是否是AppEngine管理员?与users.is_current_user_admin()用户API 类似.
谢谢
angularjs ×3
javascript ×3
docker ×2
kubernetes ×2
sw-precache ×2
dockerfile ×1
dockerhub ×1
escaping ×1
html ×1
python ×1
sw-toolbox ×1
unit-testing ×1