小编lor*_*ess的帖子

在Javascript中防止HTML和脚本注入

假设我有一个带输入框的页面.用户在输入框中键入内容并点击按钮.该按钮触发一个函数,该函数获取键入文本框中的值,并将其输出到文本框下方的页面,无论出于何种原因.

现在,令人不安的是难以找到明确的答案,或者我不会问,但你会如何输出这个字符串:

<script>alert("hello")</script> <h1> Hello World </h1>
Run Code Online (Sandbox Code Playgroud)

这样既不执行脚本也不显示HTML元素?

我在这里真正要问的是,是否存在一种在Javascript中避免HTML和脚本注入的标准方法.每个人似乎都有不同的方式(我使用jQuery所以我知道我可以简单地将字符串输出到文本元素而不是html元素,但这不是重点).

html javascript javascript-injection html-injections

47
推荐指数
2
解决办法
10万
查看次数

如何按文件类型递归查找文件并在ssh中将它们复制到目录?

我想找到pdf一个文件夹中的所有文件.它包含pdf内部文件和更多包含更多内容的目录.该文件夹位于我有ssh访问权限的远程服务器上.我正在使用mac终端,但我相信我连接的服务器是Centos.

我需要找到所有的pdfs并将它们全部复制到远程服务器上的一个目录中.我已经尝试了大约10种变化而没有运气.我和远程系统似乎都没有将-exec识别为命令,尽管exec很好,所以这是一个问题.

我不知道这里的问题是什么,但命令不会失败它只是坐在那里并永远失速所以我没有任何有用的错误发布.

cp $(find -name "*.pdf" -type f; exec ./pdfsfolder {} \; | sed 1q)

find: ./tcs/u25: Permission denied
find: ./tcs/u68: Permission denied
-bash: /var/www/html/tcs_dev/sites/default/files/pdfsfolder: is a directory
-bash: exec: /var/www/html/tcs_dev/sites/default/files/pdfsfolder: cannot execute: Success
cp: target `./runaways_parents_guide_2013_final.pdf' is not a directory
Run Code Online (Sandbox Code Playgroud)

这是我尝试的最后一个,我想我现在可以忽略权限被拒绝的错误,但我不确定其余的.

linux bash centos

46
推荐指数
3
解决办法
9万
查看次数

Leaflet.js将地图置于一组标记的中心

即时通讯使用Leaflet.js,并希望某种方式将地图置于我所拥有的标记上,以便在页面启动时所有都在用户视图中.如果所有标记都聚集在一个小区域中,我希望地图缩小到仍然显示所有标记的水平.

我知道谷歌地图有自动中心功能,但我如何使用Leaflet.js进行此操作?

markers leaflet

42
推荐指数
1
解决办法
3万
查看次数

如何在Swagger(OpenAPI)中定义互斥查询参数?

我在Swagger中有一系列参数

                    "parameters": [
                    {
                        "name": "username",
                        "description": "Fetch username by username/email",
                        "required": false,
                        "type": "string",
                        "paramType": "query"
                    },
                    {
                        "name": "site",
                        "description": "Fetch username by site",
                        "required": false,
                        "type": "string",
                        "paramType": "query"
                    },
                    {
                        "name": "survey",
                        "description": "Fetch username by survey",
                        "required": false,
                        "type": "string",
                        "paramType": "query"
                    }
                ],
Run Code Online (Sandbox Code Playgroud)

必须填写一个参数但是哪个参数无关紧要,其他参数可以留空.有没有办法在Swagger中表现出来?

swagger swagger-ui openapi

30
推荐指数
3
解决办法
1万
查看次数

WebKitFormBoundary是什么意思?

我正在使用https://github.com/danialfarid/ng-file-upload进行文件上传,但我不明白我是否真的发送文件.有效载荷只是说

------ WebKitFormBoundaryaym16ehT29q60rUx Content-Disposition:form-data; NAME = "文件"; filename ="webfonts.zip"Content-Type:application/zip

------ WebKitFormBoundaryaym16ehT29q60rUx--

我不明白这意味着什么?它有点像上传,但POST立即回来,我希望看到某种文件流.怎么回事,我发送文件了吗?

javascript angularjs

6
推荐指数
1
解决办法
2万
查看次数

如何重置Jasmine中的间谍?

我有一个问题,我已经将模拟服务设置为间谍。

 mockSelectionsService = jasmine.createSpyObj(['updateSelections']);
Run Code Online (Sandbox Code Playgroud)

然后,我两次在不同的测试中两次调用该存根方法。问题是,当我expect()使用.toHaveBeenCalledWith()toHaveBeenCalledWith方法的间谍还包含参数时,它是从第一个测试传递过来的,这在第二个测试中产生了误报。

我如何擦除/清除/重置spyObject以便进行下一次测试,以使其不再相信它被调用?

服务/组件的初始化

  beforeEach(() => {
    mockSelectionsService = jasmine.createSpyObj(['updateSelections']);

TestBed.configureTestingModule({
  declarations: [QuickSearchComponent, LoaderComponent, SearchComponent, SearchPipe, OrderByPipe],
  providers: [OrderByPipe, SearchPipe, SlicePipe, {provide: SelectionsService, useValue: mockSelectionsService}],
  imports: [FormsModule, HttpClientModule]
});


fixture = TestBed.createComponent(QuickSearchComponent);
component = fixture.componentInstance;
fixture.detectChanges();

fixture.componentInstance.templates = mockTemplates;
fixture.componentInstance.manufacturers = mockManufacturers;
Run Code Online (Sandbox Code Playgroud)

});

jasmine angular

6
推荐指数
2
解决办法
2968
查看次数

在onClick事件中获取视图的id作为String

嗨我试图获取ID我设置在每个这些线性布局,但我得到了

android.widget.LinearLayout@41032a40或类似的对我来说没什么用处.

我已将id设置为row1,这就是我想要返回的内容.

我确定我以前做过类似的事情,所以我无法弄清楚为什么它会返回上面的内容.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
    android:id="@+id/row1"
    android:layout_width="fill_parent"
    android:layout_height="30dip"
    android:background="@android:color/black"
    android:onClick="xmlClickHandler" />

<LinearLayout
    android:id="@+id/row2"
    android:layout_width="fill_parent"
    android:layout_height="30dip"
    android:background="@android:color/white"
    android:onClick="xmlClickHandler" />

<LinearLayout
    android:id="@+id/row3"
    android:layout_width="fill_parent"
    android:layout_height="30dip"
    android:background="@android:color/black" 
    android:onClick="xmlClickHandler" />

<LinearLayout
    android:id="@+id/row4"
    android:layout_width="fill_parent"
    android:layout_height="30dip"
    android:background="@color/white" 
    android:onClick="xmlClickHandler" />

<LinearLayout
    android:id="@+id/row5"
    android:layout_width="fill_parent"
    android:layout_height="30dip"
    android:background="@color/yellow" 
    android:onClick="xmlClickHandler" />
 <LinearLayout
    android:id="@+id/row6"
    android:layout_width="fill_parent"
    android:layout_height="30dip"
    android:background="@color/blue"
    android:onClick="xmlClickHandler" />
Run Code Online (Sandbox Code Playgroud)

        public void xmlClickHandler(View v) {
    Log.d("CLICK ROW", String.valueOf(v));
}
Run Code Online (Sandbox Code Playgroud)

xml android view onclick

4
推荐指数
3
解决办法
1万
查看次数

为什么 tsc 命令在用于编译特定文件时不显示编译错误?

我有一个名为 app.ts 的文件,它看起来像这样。

    interface  Foo {
    bar:String;
}

const fn = (foo? :Foo) => foo.bar;
Run Code Online (Sandbox Code Playgroud)

由于strict:true在我的 tsconfig.json 文件中,当我tsc从根文件夹运行时出现一个很好的错误。错误看起来像这样。

app.ts:5:27 - error TS2532: Object is possibly 'undefined'.

5 const fn = (foo? :Foo) => foo.bar;
Run Code Online (Sandbox Code Playgroud)

这正是我所期望的。但是,当我运行时,我tsc app.ts完全没有错误,并且生成了 app.js 文件!不是我所期望的。为什么是这样?

typescript

3
推荐指数
1
解决办法
1431
查看次数

Django dispatch()在Django中得到了一个意外的关键字参数

我已经覆盖了我的视图类上的调度方法,因此它们需要用户登录.

例:

class IndexView(generic.ListView):
    template_name='quotes/index.html'
    context_object_name = 'book_list'

    @method_decorator(login_required)
    def dispatch(self, args):
        return super(IndexView, self).dispatch(args)
    def get_queryset(self):
        """Return all the book objects"""
        return Book.objects.all()

class DetailView(generic.DetailView):
   model = Book
   template_name = 'quotes/detail.html'

   @method_decorator(login_required)
   def dispatch(self, request, args, kwargs):
        return super(DetailView, self).dispatch(request, args, kwargs)
   def get_queryset(self):
       """
       Excludes any polls that aren't yet published
       """
       return Book.objects.all()
Run Code Online (Sandbox Code Playgroud)

这很好用,直到我使用这样的URL模式:

     url(r'^book/(?P<pk>\d+)/$', views.DetailView.as_view(), name='detail'),
Run Code Online (Sandbox Code Playgroud)

然后它给了我错误

    dispatch() got an unexpected keyword argument 'pk'
Run Code Online (Sandbox Code Playgroud)

DetailView需要query_set函数的参数,但是调度正在捕获它并抱怨它.这件事发生在我之前.我删除了所有登录功能,不得不重新开始.我把它全部替换了,即使使用pk arg也能正常工作.现在它再次这样做,我在网上找不到任何理由.谁能帮忙.将发布您认为必要的任何其他内容.

我知道你可以在URL模式中添加login_required.我只是以错误的方式解决这个问题吗?Django文档提供了我正在使用的方法.

报价/ index.html的

    {% extends "base.html" %}

{% block content …
Run Code Online (Sandbox Code Playgroud)

django

2
推荐指数
1
解决办法
1640
查看次数

在Coldfusion中启动会话并分配唯一的会话ID

我在PHP中做了一些非常基本的身份验证工作.在PHP中,您可以启动会话并创建要存储在cookie中的唯一会话ID.

这在ColdFusion中如何工作?如何启动会话并为其分配唯一ID?

背景故事:我正在尝试创建一个登录页面,我可以创建用户并验证他们的登录尝试,但我需要知道如何在他们登录后给他们一个独特的会话.

我看了一下ColdFusion文档.我能为会话找到的唯一方法似乎是那些因任何原因不使用cookie的浏览器.我错过了什么吗?

cookies coldfusion session

0
推荐指数
1
解决办法
239
查看次数