mirror of
https://github.com/vichan-devel/vichan.git
synced 2024-11-24 07:30:10 +01:00
Remove ReCAPTCHA from remaining pages
This commit is contained in:
parent
f7e9fd787b
commit
aa90f3b43b
53
create.php
53
create.php
@ -1,35 +1,17 @@
|
||||
<?php
|
||||
|
||||
include "inc/functions.php";
|
||||
include "inc/lib/ayah/ayah.php";
|
||||
$cbRecaptcha = false;
|
||||
//don't load recaptcha LIB unless its enabled!
|
||||
if ($config['cbRecaptcha']){
|
||||
$cbRecaptcha = true;
|
||||
include "inc/lib/recaptcha/recaptchalib.php";
|
||||
}
|
||||
|
||||
checkBan('*');
|
||||
|
||||
$ayah = (($config['ayah_enabled']) ? new AYAH() : false);
|
||||
|
||||
if (!isset($_POST['uri'], $_POST['title'], $_POST['subtitle'], $_POST['username'], $_POST['password'])) {
|
||||
if (!$ayah){
|
||||
$game_html = '';
|
||||
} else {
|
||||
$game_html = '<tr><th>'._('Game').'</th><td>' . $ayah->getPublisherHTML() . '</td></tr>';
|
||||
}
|
||||
|
||||
if (!$cbRecaptcha){
|
||||
$recapcha_html = '';
|
||||
} else {
|
||||
$recapcha_html = '<tr><th>reCaptcha</th><td>' . recaptcha_get_html($config['recaptcha_public'], NULL, TRUE) . '</td></tr>';
|
||||
}
|
||||
|
||||
include '8chan-captcha/functions.php';
|
||||
|
||||
$password = base64_encode(openssl_random_pseudo_bytes(9));
|
||||
|
||||
$body = Element("8chan/create.html", array("config" => $config, "password" => $password, "game_html" => $game_html, "recapcha_html" => $recapcha_html));
|
||||
$captcha = generate_captcha($config['captcha']['extra']);
|
||||
|
||||
$body = Element("8chan/create.html", array("config" => $config, "password" => $password, "captcha" => $captcha));
|
||||
|
||||
echo Element("page.html", array("config" => $config, "body" => $body, "title" => _("Create your board"), "subtitle" => _("before someone else does")));
|
||||
}
|
||||
@ -41,26 +23,13 @@ $subtitle = $_POST['subtitle'];
|
||||
$username = $_POST['username'];
|
||||
$password = $_POST['password'];
|
||||
|
||||
$resp = ($cbRecaptcha) ? recaptcha_check_answer ($config['recaptcha_private'],
|
||||
$_SERVER["REMOTE_ADDR"],
|
||||
$_POST["recaptcha_challenge_field"],
|
||||
$_POST["recaptcha_response_field"]):false;
|
||||
$resp = file_get_contents($config['captcha']['provider_check'] . "?" . http_build_query([
|
||||
'mode' => 'check',
|
||||
'text' => $_POST['captcha_text'],
|
||||
'extra' => $config['captcha']['extra'],
|
||||
'cookie' => $_POST['captcha_cookie']
|
||||
]));
|
||||
|
||||
if ($resp != false){
|
||||
$passedCaptcha = $resp->is_valid;
|
||||
} else {
|
||||
$passedCaptcha = true;
|
||||
}
|
||||
|
||||
if (!$ayah){
|
||||
$score = true;
|
||||
} else {
|
||||
$score = $ayah->scoreResult();
|
||||
}
|
||||
if (!$score)
|
||||
error(_('You failed the game'));
|
||||
if (!$passedCaptcha)
|
||||
error(_('You failed to enter the reCaptcha correctly'));
|
||||
if (!preg_match('/^[a-z0-9]{1,30}$/', $uri))
|
||||
error(_('Invalid URI'));
|
||||
if (!(strlen($title) < 40))
|
||||
@ -69,6 +38,8 @@ if (!(strlen($subtitle) < 200))
|
||||
error(_('Invalid subtitle'));
|
||||
if (!preg_match('/^[a-zA-Z0-9._]{1,30}$/', $username))
|
||||
error(_('Invalid username'));
|
||||
if ($resp !== '1')
|
||||
error($config['error']['captcha']);
|
||||
|
||||
foreach (listBoards() as $i => $board) {
|
||||
if ($board['uri'] == $uri)
|
||||
|
@ -1,31 +1,26 @@
|
||||
<?php
|
||||
include 'inc/functions.php';
|
||||
include "inc/lib/recaptcha/recaptchalib.php";
|
||||
require_once 'Net/DNS2.php';
|
||||
checkBan('*');
|
||||
// My nameserver was broken and I couldn't edit resolv.conf so I just did this instead
|
||||
$dns = new Net_DNS2_Resolver(array('nameservers' => array('8.8.8.8')));
|
||||
$result = $dns->query(RECAPTCHA_VERIFY_SERVER, "A");
|
||||
if ($result and $result->answer[0]) {
|
||||
$RECAPTCHA_VERIFY_SERVER_IP = $result->answer[0]->address;
|
||||
} else {
|
||||
$RECAPTCHA_VERIFY_SERVER_IP = RECAPTCHA_VERIFY_SERVER;
|
||||
}
|
||||
include '8chan-captcha/functions.php';
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
$ayah_html = recaptcha_get_html($config['recaptcha_public'], NULL, TRUE);
|
||||
$body = Element("8chan/dnsbls.html", array("config" => $config, "ayah_html" => $ayah_html));
|
||||
$captcha = generate_captcha($config['captcha']['extra']);
|
||||
|
||||
$html = "{$captcha['html']}<br/>
|
||||
<input class='captcha_text' name='captcha_text' size='25' maxlength='6' autocomplete='off' type='text'>
|
||||
<input class='captcha_cookie' name='captcha_cookie' type='hidden' autocomplete='off' value='{$captcha['cookie']}'><br/>";
|
||||
|
||||
$body = Element("8chan/dnsbls.html", array("config" => $config, "ayah_html" => $html));
|
||||
|
||||
echo Element("page.html", array("config" => $config, "body" => $body, "title" => _("Bypass DNSBL"), "subtitle" => _("Post even if blocked")));
|
||||
} else {
|
||||
$score = recaptcha_check_answer($config['recaptcha_private'],
|
||||
$_SERVER["REMOTE_ADDR"],
|
||||
$_POST["recaptcha_challenge_field"],
|
||||
$_POST["recaptcha_response_field"],
|
||||
array(),
|
||||
$RECAPTCHA_VERIFY_SERVER_IP);
|
||||
$resp = file_get_contents($config['captcha']['provider_check'] . "?" . http_build_query([
|
||||
'mode' => 'check',
|
||||
'text' => $_POST['captcha_text'],
|
||||
'extra' => $config['captcha']['extra'],
|
||||
'cookie' => $_POST['captcha_cookie']
|
||||
]));
|
||||
|
||||
if ($score->is_valid) {
|
||||
if ($resp === '1') {
|
||||
$tor = checkDNSBL($_SERVER['REMOTE_ADDR']);
|
||||
if (!$tor) {
|
||||
$query = prepare('INSERT INTO ``dnsbl_bypass`` VALUES(:ip, NOW()) ON DUPLICATE KEY UPDATE `created`=NOW()');
|
||||
|
@ -7,8 +7,9 @@
|
||||
<tr><th>Subtitle</th><td><input name="subtitle" type="text"> <span class="unimportant">{% trans %}(must be < 200 chars){% endtrans %}</td></tr>
|
||||
<tr><th>{% trans %}Username{% endtrans %}</th><td><input name="username" type="text"> <span class="unimportant">{% trans %}(must contain only alphanumeric, periods and underscores){% endtrans %}</span></td></tr>
|
||||
<tr><th>{% trans %}Password{% endtrans %}</th><td><input name="password" type="text" value="{{ password }}" readonly> <span class="unimportant">{% trans %}(write this down){% endtrans %}</span></td></tr>
|
||||
{{ game_html }}
|
||||
{{ recapcha_html }}
|
||||
<tr><th>{% trans %}CAPTCHA{% endtrans %}</th><td>{{ captcha['html'] }}<br/>
|
||||
<input class="captcha_text" name="captcha_text" size="25" maxlength="6" autocomplete="off" type="text">
|
||||
<input class="captcha_cookie" name="captcha_cookie" type="hidden" autocomplete="off" value="{{ captcha['cookie']|e }}"><br/></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<ul style="padding:0;text-align:center;list-style:none"><li><input type="submit" value="{% trans %}Create board{% endtrans %}"></li></ul>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<form method="POST">
|
||||
<p>{% trans %}Your IP is listed in our DNSBL. To stop attackers, we require users who use certain IP ranges to pass a test which proves they are human every 24 hours.{% endtrans %}</p>
|
||||
<p>{% trans %}Tor users need to fill out the CAPTCHA every 3 hours or 5 posts.{% endtrans %}</p>
|
||||
|
||||
<p>{% trans %}It is also possible that the site is currently under attack and we are requiring everyone to pass the test right now. Sorry for the inconvenience.{% endtrans %}</p>
|
||||
|
||||
|
@ -53,7 +53,7 @@
|
||||
<tr><th>{% trans %}Public action log{% endtrans %}<br><span class="unimportant">{% trans %}Displays all actions to the public{% endtrans %}</span></th><td><select name="public_logs"><option value="0" {% if board.public_logs == 0 %}selected{% endif %}>None</option><option value="1" {% if board.public_logs == 1 %}selected{% endif %}>Full log of all actions</option><option value="2" {% if board.public_logs == 2 %}selected{% endif %}>Full log of all actions, no usernames</option></td></tr>
|
||||
<tr><th>{% trans %}Page count{% endtrans %}</th><td><select name="max_pages">{% for i in range(2, 25) %}<option value="{{ i }}" {% if config.max_pages == i %}selected{% endif %}>{{ i }}</option>{% endfor %}</select></td></tr>
|
||||
<tr><th>{% trans %}Bump limit{% endtrans %}</th><td><select name="reply_limit">{% for i in range(250, 750, 25) %}<option value="{{ i }}" {% if config.reply_limit == i %}selected{% endif %}>{{ i }}</option>{% endfor %}</select></td></tr>
|
||||
<tr><th>{% trans %}Language{% endtrans %}<br/><span class="unimportant">{% trans %}To contribute translations, register at <a href="https://www.transifex.com/projects/p/tinyboard-vichan-devel/">Transifex</a>{% endtrans %}</span></th><td>
|
||||
<tr><th>{% trans %}Language{% endtrans %}<br/><span class="unimportant">{% trans %}Read this page for more information about contributing translations:<br><a href="/translation.html">Translation tutorial</a> or use <a href="https://www.transifex.com/projects/p/infinity/">Transifex</a>{% endtrans %}</span></th><td>
|
||||
<select name="locale">
|
||||
<option value="en" {% if "en" == config.locale %}selected{% endif %}>en</option>
|
||||
{% for language in languages %}
|
||||
|
Loading…
Reference in New Issue
Block a user