有没有办法让PHP(或jQuery)检查一个字符串是否是人类可读的?

时间:2012-06-01 16:34:19

标签: php jquery validation

人类可读,意味着字符串是一个真实的单词。这基本上是表单验证。理想情况下,我想测试表单响应的“纹理”,以确定实际用户是否已填写表单而不是寻找表单漏洞的人。可能在POSTed数据上使用字典查找,然后给出返回的“真实单词”的阈值。

我在PHP文档中看不到任何内容,Google机器也没有提供任何内容,至少这是具体的。我怀疑有人在那里编写了一个PHP类甚至是一个可以执行此操作的jQuery插件。像这样:

$string = "laiqbqi";

is_this_string_human_readable($string);

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

这可以使用名为Markov Chains的东西来完成。

基本上,他们通过给定语言(英语,法语,俄语等)读取大量文本,并确定一个字符在另一个字符之后的概率。

e.g。 “q”在“z”之后发生的概率比“a”之类的元音低得多。

在较低级别,这实际上是作为状态机实现的。

根据Mike的评论,可以找到PHP版本here

对于味道来说,马尔可夫链上很有趣the Daily WTF article