gpt4 book ai didi

javascript - 有没有办法在 ruby​​ 中的上传文件或文本区域中找出二进制代码的存在?

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:13 28 4
gpt4 key购买 nike

有没有办法阻止用户上传文件或在前端的文本区域输入二进制数据。我无法在 ruby​​ 或 javascript 中找到一种方法来检查用户在我的网站上提交的内容中是否存在二进制代码。

  var binary_count = 0;
var isAscii = true;
//binary check
for (var i=0, len=submission.length; i<len; i++){
if (submission[i] > 127){
isAscii=false;
binary_count += 1;
$('.error').html('Binary code is not allowed in submission.').show();
break;
}
}

此方法在 javascript 中不起作用,我也无法找到在 rails 中检查它的方法。在这种情况下,有人可以指导我吗?

最佳答案

您无法在 javascript 中正确检查此用户提交,因为总是有可能没有 javascript 检查的提交数据。所以你应该在 rails 中验证它。您的验证可以是这样的(未测试)。

class YourModel < ActiveRecord::Base
validate :proper_string
def proper_string
errors.add(:submission, "Only text allowed") unless submission.force_encoding("UTF-8").valid_encoding?
end
end

使用 javascript,您只能出于可用性原因进行验证,但看起来更像是黑客攻击,而不是用户错误。

关于javascript - 有没有办法在 ruby​​ 中的上传文件或文本区域中找出二进制代码的存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29755218/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com