Invia non spam (falsi positivi)

Questa chiamata è per l’invio di falsi positivi: dei testi che sono stati erroneamente identificati come spam da Akismet. Richiede gli stessi argomenti di comment‑checksubmit‑spam.

Come spiegato nella nostra documentazione su invia spam, assicurati che i valori che stai passando corrispondano alla chiamata originale e corrispondente di verifica commento.

Questo metodo viene chiamato con l’URL qui sotto:

https://rest.akismet.com/1.1/submit-ham

Questa chiamata richiede gli stessi argomenti della chiamata di comment‑check.
Importante: tutti i parametri devono essere inviati tramite il metodo POST.

Parametri

api_key (richiesto)
La tua chiave API di Akismet. Puoi trovarla nella bacheca del tuo account su: https://akismet.com/account/

blog (richiesto)
L’URL della pagina principale o home dell’istanza che effettua la richiesta. Per un blog o una wiki, è la pagina principale. Nota bene: deve essere un URI completo, con http:// incluso.

user_ip (richiesto)
L’indirizzo IP di chi ha inviato il commento.

user_agent
La stringa user agent del browser che invia il commento, di solito la variabile HTTP_USER_AGENT cgi. Da non confondere con l’user agent della tua libreria Akismet.

referrer (nota bene l’ortografia)
Il contenuto dell’intestazione HTTP_REFERER deve essere inviato qui.

permalink
L’URL permanente completo dell’articolo a cui è stato inviato il commento.

comment_type
Una stringa che descrive il tipo di contenuto inviato. Ad esempio:

  • comment: un commento al blog.
  • forum‑post: un articolo di forum di primo livello.
  • reply: una risposta a un articolo di forum di primo livello.
  • blog‑post: un articolo del blog.
  • contact‑form: un modulo di contatto o un modulo di feedback inviato.
  • signup: un nuovo account utente.
  • message: un messaggio scambiato tra pochi utenti.

Puoi inviare un valore non elencato sopra se nessuno di questi descrive accuratamente i tuoi contenuti. Scopri di più qui.

comment_author
Nome inviato con il commento.

comment_author_email
Indirizzo e‑mail inviato con il commento.

comment_author_url
URL inviato con il commento. Invia solo un URL inserito manualmente dall’utente, non un URL generato automaticamente come l’URL del profilo dell’utente sul tuo sito.

comment_content
Il contenuto che è stato inviato.

comment_date_gmt
L’orario UTC della creazione del commento, nel formato ISO 8601. Può essere omesso per le richieste di verifica commento se il commento viene inviato all’API al momento della creazione.

comment_post_modified_gmt
L’orario UTC della pubblicazione dell’articolo, pagina o discussione in cui è stato inviato il commento.

blog_lang
Indica la lingua utilizzata nel blog o nel sito, nel formato ISO 639‑1, separati da una virgola. Un sito con articoli in inglese e francese potrebbe usare “en, fr_ca”.

blog_charset
L’encoding dei caratteri per i valori del modulo inclusi nei parametri comment_*, come “UTF-8” o “ISO-8859-1”.

user_role
Il ruolo dell’utente che ha inviato il commento. Questo è un parametro facoltativo. Se lo imposti su “amministratore”, Akismet restituirà sempre false.

is_test
Questo è un parametro facoltativo. Puoi usarlo quando invii query di test ad Akismet.

recheck_reason
Se stai inviando contenuti ad Akismet perché vengano riesaminati, ad esempio un articolo che è stato modificato o vecchi commenti in sospeso che vuoi riesaminare, includi il parametro recheck_reason con una stringa che descrive perché il contenuto viene riesaminato. Ad esempio, recheck_reason=edit.

honeypot_field_name
Se usi un campo honeypot nella tua implementazione, includi il nome del campo nella richiesta, così come il valore di quel campo. Ad esempio, se hai un campo honeypot che appare come <input type=”text” name=”hidden_honeypot_field” style=”display: none;” />, devi includere due parametri aggiuntivi nella tua richiesta: honeypot_field_name=hidden_honeypot_field e hidden_honeypot_field=[il valore dell’input].

comment_context
Il parametro comment_context fornisce il contesto per l’ambiente in cui è stato inviato il commento: un elenco di tag o categorie applicate all’articolo del blog padre o al sito su cui è stato inviato il commento.

Specifica comment_context usando la notazione del parametro dell’array in stile PHP: comment_context[]=cucina&comment_context[]=ricette&comment_context[]=bbq. Nota bene che i tag o le categorie devono essere presi dall’articolo padre o dall’ambiente e non devono essere forniti dagli autori dei commenti.

Altre variabili ambientali del server
In PHP, c’è un array di variabili ambientali chiamato $_SERVER che contiene informazioni sul server web stesso e una chiave/valore per ogni intestazione HTTP inviata con la richiesta. Questi dati sono molto utili per Akismet. Il modo in cui il contenuto inviato interagisce con il server può essere molto rivelatore, quindi includi il più possibile.

Esempio PHP

$data = array(
    'blog' => 'http://yourgroovydomain.com',
    'user_ip' => '127.0.0.1',
    'user_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6',
    'referrer' => 'http://www.google.com',
    'permalink' => 'http://yourgroovydomain.com/blog/post=1',
    'comment_type' => 'comment',
    'comment_author' => 'admin',
    'comment_author_email' => 'test@example.com',
    'comment_author_url' => 'http://spam.example.net',
    'comment_content' => 'It means a lot that you would take the time to review our software.Thanks again.'
);
 
akismet_submit_ham( '123YourAPIKey', $data );
 
function akismet_submit_ham( $api_key, $data ) {
    $request = 'api_key=' . urlencode( $api_key ) .
        '&blog=' . urlencode($data['blog']) .
        '&user_ip=' . urlencode($data['user_ip']) .
        '&user_agent=' . urlencode($data['user_agent']) .
        '&referrer=' . urlencode($data['referrer']) .
        '&permalink=' . urlencode($data['permalink']) .
        '&comment_type=' . urlencode($data['comment_type']) .
        '&comment_author=' . urlencode($data['comment_author']) .
        '&comment_author_email=' . urlencode($data['comment_author_email']) .
        '&comment_author_url=' . urlencode($data['comment_author_url']) .
        '&comment_content=' . urlencode($data['comment_content']);
 
    $host = $http_host = 'rest.akismet.com';
    $path = '/1.1/submit-ham';
    $port = 443;
    $akismet_ua = "WordPress/4.4.1 | Akismet/3.1.7";
    $content_length = strlen( $request );
    $http_request  = "POST $path HTTP/1.0rn";
    $http_request .= "Host: $hostrn";
    $http_request .= "Content-Type: application/x-www-form-urlencodedrn";
    $http_request .= "Content-Length: {$content_length}rn";
    $http_request .= "User-Agent: {$akismet_ua}rn";
    $http_request .= "rn";
    $http_request .= $request;
 
    $response = '';
 
    if ( false != ( $fs = @fsockopen( 'ssl://' . $http_host, $port, $errno, $errstr, 10 ) ) ) {
        fwrite( $fs, $http_request );
 
        while ( !feof( $fs ) ) {
            $response .= fgets( $fs, 1160 ); // One TCP-IP packet
        }
        
        fclose( $fs );
 
        $response = explode( "rnrn", $response, 2 );
    }
 
    if ( 'Thanks for making the web a better place.' == $response[1] ) {
        return true;
    } else {
        return false;
    }
}

Questa chiamata restituisce una singola risposta:

Array (
    [0] => HTTP/1.1 200 OK
           Server: nginx
           Date: Mon, 24 Feb 2014 20:41:15 GMT
           Content-Type: text/html; charset=utf-8
           Connection: close
           Content-length: 41
    [1] => Thanks for making the web a better place.
)

Siamo qui per aiutarti

Se sei difficoltà o hai bisogno di aiuto, non esitare a contattarci.