4

人間が読める形式。つまり、文字列は実際の単語です。これは基本的にフォームの検証です。理想的には、フォームの応答の「テクスチャ」をテストして、実際のユーザーがフォームに入力したかどうか、またはフォームの脆弱性を探している人がいるかどうかを判断したいと思います。おそらく、POSTされたデータで辞書検索を使用し、返された「実際の単語」のしきい値を指定します。

PHPのドキュメントには何も表示されておらず、Googleマシンは、少なくともこの特定の機能を提供していません。誰かがPHPクラスまたはこれを実行できるjQueryプラグインを作成したのではないかと思います。そのようなもの:

$string = "laiqbqi";

is_this_string_human_readable($string);

何か案は?

4

1 に答える 1

8

これは、マルコフ連鎖と呼ばれるものを使用して行うことができます。

基本的に、彼らは与えられた言語(英語、フランス語、ロシア語など)のテキストの大きな塊を読み、ある文字が次々と現れる確率を決定します。

たとえば、「q」は「a」などの母音よりも「z」の後に発生する確率がはるかに低くなります。

下位レベルでは、これは実際にはステートマシンとして実装されます。

マイクのコメントによると、これのPHPバージョンはここにあります。

フレーバーについては、マルコフ連鎖に関する面白いデイリーWTFの記事。

于 2012-06-01T16:39:00.373 に答える