我在同一台服务器上托管了多个 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) 我正在测试我的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) 我有一个包含离子项的离子列表.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) 我正在开发一个应用程序有一段时间了,最近我在应用程序上附加了一个 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) 我正在研究一个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) 是否有用于VB.NET的AES加密的标准库?我想用静态私钥加密字符串.
我用Google搜索并发现了很多变化.我真的不知道如何确定哪些算法是安全的.
我有些困惑,我需要在引号内包装一些字符,但需要在替换的文本内将逗号替换为点。有一个命令吗?
目前,我正在这样做:
preg_replace( '[\b([0-9\.,]{16,})]', '="\1"', $chunk );
Run Code Online (Sandbox Code Playgroud)
它使用="
和将长度超过15个符号的数字字符串包围起来"
,但是我需要将任何现有的点换成逗号(Excel兼容性,不要问)。
我知道有两步解决方案,但是我感觉我不知道某些PHP / REGEX功能可以更快/更好地完成它。
编辑:表现最好的答案胜出,因为我将处理任意大小的CSV文件,该文件可能会增长到千兆字节(即使I / O可能是这里的瓶颈)。
当我在 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)
我应该怎么做才能动态加载我的证书?
我正在尝试使用相机.我搜索了一个例子或指南,但我找不到任何东西.
我想做的是只需按一下按钮打开相机,拍照,然后显示图像 - 全部使用离子和角度.