Tässä ensimmäinen ongelma IPv6- ja IPv4-maailmojen yhteensopivuudessa: reCAPTCHA ei toimi. Selitys on aika yksinkertainen: se yrittää pitää kirjaa käyttäjistä IP-osoitteiden perusteella, ja ne eivät täsmää, koska käyttäjä tulee omalle saitilleni IPv6:sta ja reCAPTCHAn saitille IPv4:stä.
Olen käyttänyt reCAPTCHAa koska Venäjältä tulee jatkuvasti kommenttispammia, joka menee läpi siitä yksinkertaisesta matematiikkakyselystä. Täytyy katsoa saako sen korjattua IPv6:n puolelle jotenkin. Tai sitten keksiä keino käyttää Drupalissa erilaisia moduuleja riippuen siitä, kummasta verkosta käyttäjä tulee.
Comments
Kenneth Falck
Onnistuihan tuo pienellä virityksellä. Captcha-moduuliin voi määritellä, että tietyiltä Drupal-käyttäjärooleilta ei vaadita ollenkaan captchaa. Sitten vain koodasin oman pienen moduulin, joka lisää IPv6-verkon puolelta tuleville dynaamisesti "ipv6 user" roolin tähän tapaan:
function kfalcknet_features_init() {
global $user;
if (!($user->uid)) {
if (strpos($_SERVER['REMOTE_ADDR'], ':') !== false) {
$user->roles[4] = 'ipv6 user';
}
}
}
(Tuo maaginen numero 4 on roolin ID Drupalin tietokannassa.)