我疯狂地试图让正则表达式检测用户输入中的关键字垃圾邮件.通常在开头有一些普通文本,在结尾有一些关键字垃圾邮件,用逗号或其他字符分隔.
我需要的是一个正则表达式来计算关键字的数量来标记文本供人检查.
文本通常是这样的:
[random text, with commas, dots and all]
keyword1, keyword2, keyword3, keyword4, keyword5,
Keyword6, keyword7, keyword8...
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几个正则表达式来计算匹配:
- 这只得到两个关键字中的一个
[,-](\w|\s)+[,-]
Run Code Online (Sandbox Code Playgroud)
- 这也匹配随机文本
(?:([^,-]*)(?:[^,-]|$))
Run Code Online (Sandbox Code Playgroud)
谁能告诉我一个正则表达式这样做?或者我应该采取不同的方法?
谢谢!
我使用刀片进行编辑来编辑资源,如下所示:
{{Form::model( $post ,['action'=> ['PostController@update', 'id' => $post->id], 'method' => 'post'])}}
Run Code Online (Sandbox Code Playgroud)
这会生成一个带有动作的表单
http://example.com/posts/edit/123
Run Code Online (Sandbox Code Playgroud)
我的领域,有文字和隐藏的输入
看到这个网址,恶意用户很容易更新其他帖子.
如果使用检查员操作id,我如何保护路线以使其失败?是否有内置的wat来标记id以确保它匹配?这也适用于所有隐藏的输入吗?
谢谢
编辑:
关于我的隐藏字段用法的示例:我的帖子通常是问题和答案,当用户尝试添加问题的答案时,我将question_id设置为隐藏字段,并且我想检查它是否被操纵.
我正在使用Swift 3和Xcode 8.1构建项目。首先,我在框架上使用Siesta创建了一个API客户端,并将其包含在我的邮件项目中,但是当我尝试使用框架中的结构进行向下转换时,出现错误No type named 'Business' in module 'ApiClient',我尝试使用它,ApiClient.Business但是没有成功...
我的框架和另一个由carthage注入的依赖项一起在工作区中,我可以从中调用另一个实例(例如API本身),但是我需要访问它才能下调结果。我也尝试过在“ 与库链接二进制文件”,“ 编译源”,“ 嵌入框架”,“ 嵌入式二进制文件”和“ 链接框架和库”下添加框架,但是无法使其正常工作...
这是我的代码
//
// BusinessesViewController.swift
//
import UIKit
import ApiClient
import Siesta
class BusinessesViewController: UIViewController, ResourceObserver{
override func viewDidLoad() {
super.viewDidLoad()
globalInstance.MyAPI.businesses.addObserver(self).loadIfNeeded()
}
func resourceChanged(_ resource: Resource, event: ResourceEvent) {
let businesses: Array = resource.typedContent(ifNone: [])
if(businesses.count > 0){
let object : ApiClient.Business = businesses[0] as! ApiClient.Business // <-- error here
}
}
override func didReceiveMemoryWarning() { …Run Code Online (Sandbox Code Playgroud)