Invia spam (spam non identificato)

Questa chiamata è per l’invio di commenti che non sono stati contrassegnati come spam ma che non lo sono.

È molto importante che i valori che invii con questa chiamata corrispondano il più possibile a quelli delle tue chiamate comment‑check. Per imparare dagli errori, Akismet ha bisogno di abbinare i tuoi rapporti di spam non identificato e falsi positivi alle chiamate API originali di comment‑check effettuate quando il contenuto è stato pubblicato per la prima volta. Sebbene sia normale che ci sia meno informazione disponibile per le chiamate submit‑spam e submit‑ham (la maggior parte dei sistemi di commenti e dei forum non memorizzerà tutti i metadati), assicurati che i valori che invii corrispondano a quelli del contenuto originale.

Questo metodo viene chiamato con l’URL qui sotto:

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

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
na stringa che descrive il tipo di contenuto inviato. Ad esempio:

  • comment: un commento di un 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 comment‑check 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_spam( '123YourAPIKey', $data );
 
function akismet_submit_spam( $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-spam';
    $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.