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


Is there a way for PHP (or jQuery) to check if a string is human readable?

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

我在PHP文档中没有看到任何东西,谷歌机器也没有提供任何东西,至少是这个特定的。 我怀疑有人已经编写了一个PHP类,甚至是一个可以做到这一点的jQuery插件。 像这样:

$string = "laiqbqi";
is_this_string_human_readable($string);

有什么想法吗?

这可以使用称为马尔可夫链的东西来完成。

从本质上讲,他们通读给定语言(英语、法语、俄语等)的大量文本,并确定一个字符接一个的概率。

例如,"Q"在"

z"之后出现的概率比"a"等元音低得多。

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

根据Mike的评论,可以在这里找到PHP版本。

为了味道,关于马尔可夫链的每日WTF文章很有趣。