小编Ani*_*aje的帖子

Google reCAPTCHA、405 错误和 CORS 问题

我正在使用 AngularJS 并尝试使用 Google 的 reCAPTCHA,我正在使用“显式呈现 reCAPTCHA 小部件”方法在我的网页上显示 reCAPTCHA,

HTML 代码 -

<script type="text/javascript">
    var onloadCallback = function() 
    {
        grecaptcha.render('loginCapcha', {
            'sitekey' : 'someSiteKey',
            'callback' : verifyCallback,
            'theme':'dark'

        });
    };

    var auth='';
    var verifyCallback = function(response) 
    {
       //storing the Google response in a Global js variable auth, to be used in the controller
        auth = response;

        var scope = angular.element(document.getElementById('loginCapcha')).scope();
        scope.auth();
    };
</script>

<div id="loginCapcha"></div>


<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我能够实现用户是人类还是机器人所需的功能,
根据我上面的代码,我的代码中有一个名为“verifyCallback”的回调函数,
它存储由 Google …

javascript recaptcha cors angularjs preflight

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

Java 中的 AWS DynamoDbMapper FilterExpression 分页

我有一个 dynamoDb 表,该表有几列,
我的主分区键是 - pageId (String),
我还有一个GSI - pageContainer(String)。

我正在使用 DynamoDBMapper 查询/扫描我的表,
我试图在 DynamoDb 中实现分页,
我了解 DynamoDB 中的分页适用于ExclusiveStartKey 和 LastEvaluatedKey。

ExclusiveStartKey 在第 1 页查询/扫描时将为 null,查询/扫描第 1 页后,DynamoDB 将返回 LastEvaluatedKey。

如果查询结果大于1Mb或者对查询/扫描设置了限制,
则将LastEvaluatedKey的值作为ExclusiveStartKey来查询/扫描第2页,以此类推。

我的操作需要在pageContainer 列上使用过滤器表达式 beginWith, 因为我试图获取以某个单词开头的数据,这就像与关系数据库进行比较的“Like”条件。我在表中有 10 个值,在 pageContainer 列中全部以“Test_test”开头。


这是我的代码 -

AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
                new AwsClientBuilder.EndpointConfiguration(DYNAMO_DB_ENDPOINT, DYNAMO_DB_REGION))
                .build();
DynamoDBMapper mapper = new DynamoDBMapper(dynamoDBClient);

String beginWith = "Test_test";
HashMap<String, AttributeValue> filterMap = new HashMap<>();
        filterMap.put(":beginWith", new AttributeValue().withS(beginWith)); …
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services amazon-dynamodb

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

AWS Lambda NodeJs 无法返回响应

我正在尝试在 AWS Lambda 上实现一个简单的 Node Js 示例,
代码中有一个异步库的示例示例。
代码工作正常,但由于某种原因,Lambda 函数返回空响应。
我也是 Node 新手,请帮忙。

以下是代码 -

var async = require('async');

exports.handler = async (event, context, callback) => {
    async.waterfall([
        function(callback) {
            console.log("ONE");
            callback(null, 1);
        },
        function(resp, callback) {
            console.log("TWO : ", resp);
            callback(null, 2);
        },
        function(resp, callback){
            console.log("THREE : ", resp);
            callback(null, "Done");
        }
    ],
    function(err, resp) {
        let response = {};
        if (err) {
            console.log("Error",err);
            response = {
                statusCode: 500,
                body: JSON.stringify('Error!'),
            };
            return response;
        } else {
            console.log("Success",resp);
            response …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services node.js

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

Elasticsearch:如何使用 OR 条件查询数组字段?

我有一些 ElasticSearch 文档,其中包含一个数组字段。

我希望能够搜索整个索引
来查找首先包含数组字段的文档,
如果包含,则找到包含要搜索的值的文档。

以下是我的数据 -

{
  "took" : 633,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 4,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "demo",
        "_type" : "1",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "anon",
          "nick_name" : "an",
          "hobbies" : [
            "reading",
            "writing"
          ]
        }
      }, …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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

如何使用 cloudformation 创建私有 AWS Api 网关?

我正在尝试创建一个私有类型的 AWS API 网关,
这需要一个资源策略,因为我可以从 AWS 控制台创建网关,
我想知道如何通过 CF 添加资源策略模板 -

以下是资源策略的 swagger 定义 -

x-amazon-apigateway-policy:
  Version: "2012-10-17"
  Statement:
  - Effect: "Deny"
    Principal: "*"
    Action: "execute-api:Invoke"
    Resource: "arn:aws:execute-api:us-east-1:awsAccountId:xxxx/*/*/*"
    Condition:
      StringNotEquals:
        aws:sourceVpc: "vpc-xxxxx"
  - Effect: "Allow"
    Principal: "*"
    Action: "execute-api:Invoke"
    Resource: "arn:aws:execute-api:us-east-1:xxxx:xxxx/*/*/*"
Run Code Online (Sandbox Code Playgroud)

我如何在 CF 模板中配置它 -

AWSTemplateFormatVersion: 2010-09-09
Transform: 'AWS::Serverless-2016-10-31'
Description: G2G Api Template Stack

Resources:
   g2gPrivate:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      Name: 'private-gw'
      EndpointConfiguration:
        Types:
          - PRIVATE
Run Code Online (Sandbox Code Playgroud)

参考 -
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html

https://medium.com/@cathmgarcia/conditional-resource-policy-on-aws-sam-with-inline-swagger-816ce946dbb

amazon-web-services aws-cloudformation aws-api-gateway

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

Java LinkedList并发修改异常

我为 LinkedList 编写了一个简单的代码,将数据添加到其中并对其进行迭代,
我导入了 LinkedList 和 Iterator 所需的包,代码中没有错误,

我收到以下异常 -

Exception in thread "main" java.util.ConcurrentModificationException
    at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
    at java.util.LinkedList$ListItr.next(Unknown Source)
    at collectionFramework.Demo.displayList(LinkedListDemo.java:38)
    at collectionFramework.LinkedListDemo.main(LinkedListDemo.java:13)
Run Code Online (Sandbox Code Playgroud)

这是我的代码 -

package collectionFramework;

import java.util.Iterator;
import java.util.LinkedList;

public class LinkedListDemo{

    public static void main(String[] args) {

        Demo obj = new Demo();

        obj.addToList();
        obj.displayList();
    }

}

class Demo{

    LinkedList<String> al;
    Iterator<String> itr;  

    Demo(){
        al = new LinkedList<String>();
        itr = al.iterator();
    }

    void addToList(){
          al.add("Aniruddha");  
          al.add("Hitesh");  
          al.add("Rahul");  
          al.add("Kshitij");  
    }

    void displayList(){

        while(itr.hasNext()){  
               System.out.println(itr.next());  
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java iterator linked-list

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

系统记录到外部文件

我有以下Systemd服务脚本来运行Spring启动应用程序 -

[Unit]
Description=Upstart for Security
After=network.target network-online.target
Wants=network-online.target

[Service]
User=root
WorkingDirectory=/home/ubuntu/security
ExecStart=/usr/bin/java -classpath java -Dspring.profiles.active=stage -jar /home/ubuntu/security/security-0.0.1-SNAPSHOT.jar > /home/ubuntu/security/security.log 2>&1
SuccessExitStatus=143
Restart=on-failure
RestartSec=120s

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)


我将脚本保存在以下位置 -

 /etc/systemd/system
Run Code Online (Sandbox Code Playgroud)


我运行以下命令来运行systemd服务脚本 -

1. sudo systemctl enable security.service -or- sudo systemctl daemon-reload
2. sudo systemctl status security.service 
3. sudo systemctl start security.service
Run Code Online (Sandbox Code Playgroud)


要检查日志,我发出命令 -

journalctl -u security.service
Run Code Online (Sandbox Code Playgroud)

并用于SHIFT+G滚动到eof

我可以通过上面的步骤检查日志,但是我希望它们位于/ home/ubuntu/security中的外部文件中,作为security.log
如何实现它?我在系统脚本中做了哪些更改?

ubuntu systemd ubuntu-16.04

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

如何在 JavaScript 中过滤和映射对象数组?

我有一个对象数组
,我想从中有条件地创建另一个对象数组。

例如。——

var devs = [
    {
        name: 'A',
        age: 26,
        tech: ['JavaScript','React'],
        addr:{
            country:'India',
            city:'Pune'
        }
    },
    {
        name: 'B',
        age: 25,
        tech: ['Node','AngularJs'],
        addr:{
            country:'USA',
            city:'NY'
        }
    },
    {
        name: 'C',
        age: 27,
        tech: ['React','AWS'],
        addr:{
            country:'UK',
            city:'London'
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

我想要一个在他们的“技术”字段数组中有“反应”的对象数组,
并且只想显示他们的名称和技术,
以下是预期的输出 -

[
    {
        name: 'A',
        tech: ['JavaScript','React']
    },
    {
        name: 'C',
        tech: ['Java','React'],
    }
]
Run Code Online (Sandbox Code Playgroud)

我知道可以使用条件过滤方法,
但是如何从对象数组中删除不必要的字段?
这里可以使用map方法吗?如果是这样,我该如何实施?

以下是我的半熟代码 -

var filteredDevs = devs.filter(temp => temp.tech.includes('React'));
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

ElasticSearch:如何使用 ElasticSearch API 仅返回特定字段?

我正在使用 ElasticSearch 7.3 来查询一些文档,
我只想在查询响应中返回每个文档的特定字段,
我发现_source可以使用它来实现这一点,
我可以使用这个查询从 Kibana 中做到这一点 -

GET /test/_search?_source=id
{
  "query": {
    "match_all": {}
  }
}
Run Code Online (Sandbox Code Playgroud)

返回我正确的数据 -

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 6,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "test",
        "_type" : "_doc",
        "_id" : "3",
        "_score" : 1.0,
        "_source" : …
Run Code Online (Sandbox Code Playgroud)

node.js elasticsearch

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

如何进行AWS S3 SSE KMS密钥轮换?

场景 -
我创建 -
1. 一个 S3 存储桶
2. 两个 KMS 密钥3.在 S3 存储桶上
启用,使用 KMS 密钥 #1 4. 在存储桶中上传文件 5. 检查对象详细信息,它显示和 6。更改了,现在选择了 7。旧对象仍然显示Default encryption

Server-side encryption: AWS-KMSKMS key ID: ARN of KMS key #1
AWS S3 Default encryptionKMS key #2
KMS key ID: ARN of KMS key #1

问题 -
1. KMS 密钥轮换可以在 1 年前完成吗?
2.我执行的操作是否是轮换 AWS KMS 密钥的正确方法?如果不是,正确的方法是什么?
3. key 的较旧对象被删除后会发生什么情况?

amazon-s3 amazon-web-services amazon-kms

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