小编Cha*_*had的帖子

Laravel 419 错误 -VerifyCsrfToken 问题

我在同一台服务器上托管了多个 Laravel 站点。在我创建的最新网站中,联系表单拒绝提交,并且不会抛出 419 错误。我已经在 web.php 文件中设置了路由,就像其他网站一样,这些网站有实时、有效的联系表单,并且我以完全相同的方式生成和发送令牌 - 使用{{ csrf_field() }}.

我找到了类似问题的答案,指出您可以通过$except向 中的数组添加条目来禁用 Csrf 检查app/Http/Middleware/VerifyCsrfToken.php。我已经验证这确实解决了 419 错误:

protected $except = [
    'contact',
    'contact*',
];
Run Code Online (Sandbox Code Playgroud)

但我当然希望保留 Csrf 功能,并且我仅更新了$except用于故障排除值的数组。

有谁知道新的 Laravel 环境可能有什么不同,尽管传递了生成的令牌,但仍会出现 419 行为?我尝试过更新一些 ENV 设置并切换不同的东西,但除了修改$except数组之外,没有任何其他方法对这个问题产生任何影响。

更新

由于到目前为止已经进行了一些讨论,我想我应该提供一些额外的信息和代码。

首先,这是一个 ajax 形式,但先不要从座位上跳起来。我一直在使用和不使用ajax 的情况下测试表单。如果我想使用 ajax 进行测试,我只需单击连接到 jQuery 侦听器的按钮即可。如果没有,我会更改或删除按钮的 ID,或者$("#formName").submit();在控制台窗口中运行。

上述(ajax、老式提交和带有 的 jquery 选择器.submit();)都会产生完全相同的响应 - 419 错误。

为了完整起见,这是我的 ajax 代码,它可以在我托管的所有其他网站上运行。我定义了一个 postData 数组以使其保持整洁,并console.log()在其后面直接添加了一条语句以(再次)确认令牌生成良好并且正在随请求正确传递。

var postData = {
            
    name: $("#name").val(),
    email: …
Run Code Online (Sandbox Code Playgroud)

php csrf-protection laravel laravel-middleware

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

使用jquery输入时间掩码

我正在使用meioMask - 一个jQuery掩码插件,将时间掩码放在文本框中.这是JsFiddle.它运作良好.但我还需要放入hh:mm文本框,让用户知道在文本框中输入什么内容.

这该怎么做.

编辑:我还需要将am/pm放在掩码中.我需要12小时的时间格式.

time jquery masking

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

慢Arduino串行传输

我正在测试我的Arduino UNO的串行传输速度.根据我的要求,我必须从主机PC向Arduino传输3KB/s.我编写了一个非常简单的程序,它回复了结果,Serial.available()然后在Arduino IDE的串行监视器中进行了测试.我已经开始发送字符,直到达到63字节的最大值.我对此感到非常惊讶,因为我在某处看到Arduino有一个128byte的串行缓冲区.

无论如何,我已经编写了一个非常简单的协议,它以48字节的数据包传输数据(实际上是49个字节,因为标题字符).主机发送一个d字符,然后发送48个字节的数据.为了测试传输的有效性,我发送一个从0到47的简单字节序列,在Arduino端进行验证.如果验证失败,UNO开始闪烁PIN13上的板载LED.一旦发送了字节,主机就会等待一个简单k字符的确认.一旦完成处理实际数据包,Arduino就会发送它.

主机程序测量传输的数据包的数量,并在1秒后显示它.波特率为9600时,PC成功传输~16包/秒(~800字节/秒),这是相当不错的.我试图通过将双方的波特率提高到57600来改善这一点; 但是,发送的数据包数量只会增加一点.我不知道问题是什么.也许我已经达到USB串口转换器的某种限制?


这是我的代码.

PC(Java,我使用jSSC进行串口通信)

  package hu.inagy.tapduino.server;

  import jssc.SerialPort;
  import jssc.SerialPortException;

  /**
   * Test Arduino communication.
   */
  public class App
  {

    private static void testComm(SerialPort port) throws SerialPortException {
      long runningSeconds = 0;
      long time = System.currentTimeMillis();
      long numberOfPackets = 0;
      boolean packetSent = false;
      while (runningSeconds < 10) {
        long currentTime = System.currentTimeMillis();
        if (currentTime - time > 1000) {
          runningSeconds++;
          time = currentTime;
          System.out.println(numberOfPackets + " …
Run Code Online (Sandbox Code Playgroud)

java serial-port arduino jssc

5
推荐指数
1
解决办法
7895
查看次数

离子 - 禁用以编程方式在单个离子项上滑动

我有一个包含离子项的离子列表.can-swipe设置为true单个项目.我切换它以false试图禁用对项目的刷卡,但这并没有禁用刷卡(这是我的第一个测试,看看我是否可以将条件挂钩到can-swipe属性).

我如何禁用某些项目,因为can-swipe="false"没有做到这一点?

<ion-list show-reorder="data.showReorder">
    <ion-item ng-repeat="i in items track by $index" class="item item-remove-animate"
        can-swipe="true" ng-click="manageOption($index);">
        <b>{{i.Name}}</b>
    <ion-option-button class="button-assertive" ng-click="deleteOption($index);">
        Delete
    </ion-option-button>
    <ion-reorder-button class="ion-navicon" on-reorder="moveOption(o, $fromIndex, $toIndex)"></ion-reorder-button>
    </ion-item>
</ion-list>
Run Code Online (Sandbox Code Playgroud)

angularjs ionic-framework ionic

5
推荐指数
2
解决办法
3929
查看次数

Websocket 握手。从 ws 到 wss

我正在开发一个应用程序有一段时间了,最​​近我在应用程序上附加了一个 SSL 证书(它不是自签名的;它是由 Comodo 签名的,所以问题不会从这里发生)。我很久以前在我的 Java Glassfish 服务器上实现了一个 WebSocket 端点,并且我将它与 javascript 一起使用。直到现在,当我转向 https 时,我一直通过 http 成功使用 WebSocket。

让我们来看看我使用的代码片段:

服务器端点:

@ServerEndpoint(value = "/ws/chat", 
    encoders = ChatMessageEncoder.class, 
    decoders = ChatMessageDecoder.class)
public class ChatEndpoint {

@OnOpen
public void open(final Session session) {
    // stuff happenin'
}

@OnMessage
public void onMessage(final Session session) {
    // stuff happenin'    }

@OnError
public void onError(Throwable t) {
    t.printStackTrace();
    System.out.println("error");
}

@OnClose
public void onClose() {
}
}
Run Code Online (Sandbox Code Playgroud)

客户端连接:

var wsocketPrivate;
function connectToChatserver() {
    var serviceLocation = 'wss://<ip>:8080/ws/chat'; …
Run Code Online (Sandbox Code Playgroud)

javascript java ssl https websocket

5
推荐指数
1
解决办法
1747
查看次数

带有属于给定插件实例的"本地"变量的jQuery插件

我正在研究一个jQuery插件,但我遇到了变量"范围"的问题.每个插件都需要跟踪一个相当大的多维数组,以及jQuery插件所附加的根元素.

如下所示,我已经定义var $rootEl = null;var multidArray = null;在插件代码的顶部; 但是,当我$(anySelector).pluginName("value");在多个元素上运行时(或者当我.pluginName()使用不同的选择器调用两次)时,看起来这些变量不会被沙箱化/作用于插件实例,因此第二个实例会覆盖这两个值,第一个实例看起来为空白在DOM中(因为所有jQuery操作都应用于$rootEl第二个jQuery插件调用时覆盖的原始值).

(function ($) {

    var $rootEl = null;
    var multidArray = null;

    directChildren = function(uuid) {

        return $rootEl.children("[data-uuid=" + uuid + "]");

    },

    incrementCounter = function() {
        this.counter++;
    },

    resetGenIteration = function() {
        this.counter = 0;
    },

    process = function(item) { // Will be called from a callback(val) in another
        // javascript file but still needs to have access to the local …
Run Code Online (Sandbox Code Playgroud)

javascript jquery scope jquery-plugins

5
推荐指数
1
解决办法
118
查看次数

用于VB.NET的AES加密的标准库?

是否有用于VB.NET的AES加密的标准库?我想用静态私钥加密字符串.

我用Google搜索并发现了很多变化.我真的不知道如何确定哪些算法是安全的.

vb.net encryption aes

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

preg_replace替换捕获组中的符号

我有些困惑,我需要在引号内包装一些字符,但需要在替换的文本将逗号替换为点。有一个命令吗?

目前,我正在这样做:

preg_replace( '[\b([0-9\.,]{16,})]', '="\1"', $chunk );
Run Code Online (Sandbox Code Playgroud)

它使用="和将长度超过15个符号的数字字符串包围起来",但是我需要将任何现有的点换成逗号(Excel兼容性,不要问)。

我知道有两步解决方案,但是我感觉我不知道某些PHP / REGEX功能可以更快/更好地完成它。


编辑:表现最好的答案胜出,因为我将处理任意大小的CSV文件,该文件可能会增长到千兆字节(即使I / O可能是这里的瓶颈)。

php regex

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

如何在 SslStream.AuthenticateAsClient 方法中使用证书回调?

当我在 IE 中手动导入证书(工具/Internet 选项/内容/证书)时,我的 C#.NET SSL 连接有效,但是如何通过代码加载证书?这是我的代码:

TcpClient client = new TcpClient(ConfigManager.SSLSwitchIP, Convert.ToInt32(ConfigManager.SSLSwitchPort));

SslStream sslStream = new SslStream(
                client.GetStream(),
                false,
                new RemoteCertificateValidationCallback(ValidateServerCertificate),
                null
                );
sslStream.AuthenticateAsClient("Test");
Run Code Online (Sandbox Code Playgroud)

如果我在 Internet Explorer 中手动导入我的证书文件,上面的代码工作正常。但是,如果我从 IE 中删除我的证书并改用以下代码,则会出现身份验证异常:

sslStream.AuthenticateAsClient("Test", GetX509CertificateCollection(), SslProtocols.Default, false);
Run Code Online (Sandbox Code Playgroud)

这是“GetX509CertificateCollection”方法:

public static X509CertificateCollection GetX509CertificateCollection()
        {
            X509Certificate2 certificate1 = new X509Certificate2("c:\\ssl.txt");
            X509CertificateCollection collection1 = new X509CertificateCollection();
            collection1.Add(certificate1);
            return collection1;
        }
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能动态加载我的证书?

c# ssl certificate x509certificate

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

离子/科尔多瓦相机为angularJS的新手

我正在尝试使用相机.我搜索了一个例子或指南,但我找不到任何东西.

我想做的是只需按一下按钮打开相机,拍照,然后显示图像 - 全部使用离子和角度.

android angularjs cordova yeoman ionic-framework

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