Rezolvare bot de creat conturi

Lord Smaug

Stie Tot
Pentru @innogames and @Stil , ca sa se rezolve problema cu bot-ul facut de conturi, cea mai simpla rezolvare e adaugarea de reCaptcha de la google, pe pagina de
grepolis./xyz/


Tutorial:

I. Intra pe
"https://www.google.com/recaptcha/admin"
Inregistreaza website-ul(grepolis./xyz/) pentru captcha

Sub ->
HTML:
<label for="registration_acceptTerms" class="terms-text"><span>Accept <a href="http://legal.innogames.com/grepo/ro/agb" target="_blank">Termenii și condițiile</a>.</span> <br> <span>Politica noastră de confidențialitate se găsește <a href="http://legal.innogames.com/grepo/ro/privacy" target="_blank">aici</a>.</span></label>

<!---->

</div>

<!---->

Adauga:

HTML:
    <div class="g-recaptcha" data-callback="recaptchaCallback" data-sitekey="site-key-from-google"></div>
    <input type="submit" value="Submit" class="captchagrepo" />

Inlocuieste "site-key-from-google" cu codul captcha primit la pasul I.

2. In head/body adauga ->


HTML:
<script src='https://www.google.com/recaptcha/api.js'></script>

3. In .css ->

Ruleaza pana la final de fisier, da enter si copy paste la urmatorul:

CSS:
    .captchagrepo {
      border: 1px solid #3366FF;
      background-color: #B3C6FF;
      width:150px;
      height:30px;
    }

4. Transforma submit button-ul din:
HTML:
<button type="submit" id="registration_register" name="registration[register]" class="btn-calltoaction">Joacă acum</button>

in->

HTML:
<button type="submit" id="registration_register" name="registration[register]" class="btn-calltoaction" disabled>Joacă acum</button>

5. Adauga in "<script></script>"/.js:
JavaScript:
function recaptchaCallback() {
    $('registration_register').removeAttr('disabled');
};

6. Adauga functia urmatoare in .js:

JavaScript:
function isValid()
{
    try {

        $url = 'https://www.google.com/recaptcha/api/siteverify';
        $data = ['secret'   => 'site-key-from-google',
                 'response' => $_POST['g-recaptcha-response'],
                 'remoteip' => $_SERVER['REMOTE_ADDR']];
           
        $options = [
            'http' => [
                'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                'method'  => 'POST',
                'content' => http_build_query($data)
            ]
        ];
 
        $context  = stream_context_create($options);
        $result = file_get_contents($url, false, $context);
        return json_decode($result)->success;
    }
    catch (Exception $e) {
        return null;
    }
}

7. In action-ul din btn adauga, inainte de executarea query-ului in db:
JavaScript:
if (isValid())
{
    query-ul de introducere a datelor in db
}
    else
{
false;
}



Link pentru testat bot-ul dupa aplicarea fix-ului:


#eul-amcreateuildistrug​
 
Ultima editare:

Aryy Aryy

Stie Tot
Pentru @innogames and @Stil , ca sa se rezolve problema cu bot-ul facut de conturi, cea mai simpla rezolvare e adaugarea de reCaptcha de la google, pe pagina de
grepolis./xyz/


Tutorial:

I. Intra pe
"https://www.google.com/recaptcha/admin"
Inregistreaza website-ul(grepolis./xyz/) pentru captcha

Sub ->
HTML:
<label for="registration_acceptTerms" class="terms-text"><span>Accept <a href="http://legal.innogames.com/grepo/ro/agb" target="_blank">Termenii și condițiile</a>.</span> <br> <span>Politica noastră de confidențialitate se găsește <a href="http://legal.innogames.com/grepo/ro/privacy" target="_blank">aici</a>.</span></label>

<!---->

</div>

<!---->

Adauga:

HTML:
    <div class="g-recaptcha" data-callback="recaptchaCallback" data-sitekey="site-key-from-google"></div>
    <input type="submit" value="Submit" class="captchagrepo" />

Inlocuieste "site-key-from-google" cu codul captcha primit la pasul I.

2. In head/body adauga ->


HTML:
<script src='https://www.google.com/recaptcha/api.js'></script>

3. In .css ->

Ruleaza pana la final de fisier, da enter si copy paste la urmatorul:

CSS:
    .captchagrepo {
      border: 1px solid #3366FF;
      background-color: #B3C6FF;
      width:150px;
      height:30px;
    }

4. Transforma submit button-ul din:
HTML:
<button type="submit" id="registration_register" name="registration[register]" class="btn-calltoaction">Joacă acum</button>

in->

HTML:
<button type="submit" id="registration_register" name="registration[register]" class="btn-calltoaction" disabled>Joacă acum</button>

5. Adauga in "<script></script>"/.js:
JavaScript:
function recaptchaCallback() {
    $('registration_register').removeAttr('disabled');
};

6. Adauga functia urmatoare in .js:

JavaScript:
function isValid()
{
    try {

        $url = 'https://www.google.com/recaptcha/api/siteverify';
        $data = ['secret'   => 'site-key-from-google',
                 'response' => $_POST['g-recaptcha-response'],
                 'remoteip' => $_SERVER['REMOTE_ADDR']];
            
        $options = [
            'http' => [
                'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                'method'  => 'POST',
                'content' => http_build_query($data)
            ]
        ];
 
        $context  = stream_context_create($options);
        $result = file_get_contents($url, false, $context);
        return json_decode($result)->success;
    }
    catch (Exception $e) {
        return null;
    }
}

7. In action-ul din btn adauga, inainte de executarea query-ului in db:
JavaScript:
if (isValid())
{
    query-ul de introducere a datelor in db
}
    else
{
false;
}



Link pentru testat bot-ul dupa aplicarea fix-ului:
#eul-amcreateuildistrug
in sfarsit ceva cu adevarat interesant pe acest forum dupa luni intregi de asteptare : O
 

Gucci.Stallone

Stie Tot
Pe langa aceasta rezolvare vin cu o propunere, o propunere care ajuta financiar buzunarul lui Stil.

Aplicatia veche Grepolis va fi inchisa, nu ? Propun sa fie lasata in continuare si folosita la facut ciuperci in schimbul unei sume de 5 uro ciuperca.

Ati castiga bani frumosi din ciuperci.

P.S.: Aplicatia sa fie redenumita in Mushroom Grepolis
 
Sus