1
0
mirror of https://github.com/vrana/adminer.git synced 2025-09-01 02:21:49 +02:00

Compare commits

...

7 Commits

Author SHA1 Message Date
Jakub Vrana
ac40be998d Release 4.7.7 2020-05-11 11:51:57 +02:00
Jakub Vrana
6a2de873e1 Fix open redirect if Adminer is accessible at //adminer.php%2F@ (thanks to Prakash Sharma) 2020-05-11 11:49:46 +02:00
Jakub Vrana
a9c1004232 Update Finnish translation 2020-03-10 16:09:25 +01:00
Theodore Tsirpanis
37fa4de650 Fix typo in Greek translation 2020-03-06 16:36:09 +01:00
Jakub Vrana
1d1f11504c Add missing translation 2020-03-06 16:12:37 +01:00
Hugues Lismonde
3f38b61366 Fix forwarded IP comparison in login-ip plugin
The issue described in #372 is the same for the HTTP_X_FORWARDED_FOR comparison. strncasecmp returns 0 when the two strings are equal which is falsey.
2020-02-04 16:58:13 +01:00
Jakub Vrana
9ab205776d Release 4.7.6 2020-01-31 11:24:45 +01:00
7 changed files with 30 additions and 6 deletions

View File

@@ -84,7 +84,7 @@ include "../adminer/drivers/mysql.inc.php"; // must be included as last driver
define("SERVER", $_GET[DRIVER]); // read from pgsql=localhost
define("DB", $_GET["db"]); // for the sake of speed and size
define("ME", str_replace(":", "%3a", preg_replace('~^[^?]*/([^?]*).*~', '\1', $_SERVER["REQUEST_URI"])) . '?'
define("ME", str_replace(":", "%3a", preg_replace('~\?.*~', '', relative_uri())) . '?'
. (sid() ? SID . '&' : '')
. (SERVER !== null ? DRIVER . "=" . urlencode(SERVER) . '&' : '')
. (isset($_GET["username"]) ? "username=" . urlencode($_GET["username"]) . '&' : '')

View File

@@ -721,12 +721,19 @@ function format_time($start) {
return lang('%.3f s', max(0, microtime(true) - $start));
}
/** Get relative REQUEST_URI
* @return string
*/
function relative_uri() {
return preg_replace('~^[^?]*/([^?]*)~', '\1', $_SERVER["REQUEST_URI"]);
}
/** Remove parameter from query string
* @param string
* @return string
*/
function remove_from_uri($param = "") {
return substr(preg_replace("~(?<=[?&])($param" . (SID ? "" : "|" . session_name()) . ")=[^&]*&~", '', "$_SERVER[REQUEST_URI]&"), 0, -1);
return substr(preg_replace("~(?<=[?&])($param" . (SID ? "" : "|" . session_name()) . ")=[^&]*&~", '', relative_uri() . "&"), 0, -1);
}
/** Generate page number for pagination

View File

@@ -1,2 +1,2 @@
<?php
$VERSION = "4.7.6-dev";
$VERSION = "4.7.7";

View File

@@ -234,7 +234,7 @@ $translations = array(
'Sort' => 'Ταξινόμηση',
'descending' => 'Φθίνουσα',
'Limit' => 'Όριο',
'Limit rows' => 'Περιοριμός σειρών',
'Limit rows' => 'Περιορισμός σειρών',
'Text length' => 'Μήκος κειμένου',
'Action' => 'Ενέργεια',
'Full table scan' => 'Πλήρης σάρωση πινάκων',

View File

@@ -333,4 +333,18 @@ $translations = array(
'Type has been dropped.' => 'Tyyppi poistettiin.',
'Type has been created.' => 'Tyyppi luotiin.',
'Alter type' => 'Muuta tyyppiä',
'Thanks for using Adminer, consider <a href="https://www.adminer.org/en/donation/">donating</a>.' => 'Kiitos, kun käytät Admineriä, voit <a href="https://www.adminer.org/en/donation/">tehdä lahjoituksen tästä</a>.',
'Drop %s?' => 'Poistetaanko %s?',
'overwrite' => 'kirjoittaen päälle',
'DB' => 'TK',
'ATTACH queries are not supported.' => 'ATTACH-komennolla tehtyjä kyselyjä ei tueta.',
'Warnings' => 'Varoitukset',
'Adminer does not support accessing a database without a password, <a href="https://www.adminer.org/en/password/"%s>more information</a>.' => 'Adminer ei tue pääsyä tietokantaan ilman salasanaa, katso tarkemmin <a href="https://www.adminer.org/en/password/"%s>täältä</a>.',
'The action will be performed after successful login with the same credentials.' => 'Toiminto suoritetaan sen jälkeen, kun on onnistuttu kirjautumaan samoilla käyttäjätunnuksilla uudestaan.',
'Connecting to privileged ports is not allowed.' => 'Yhteydet etuoikeutettuihin portteihin eivät ole sallittuja.',
'There is a space in the input password which might be the cause.' => 'Syynä voi olla syötetyssä salasanassa oleva välilyönti.',
'Unknown error.' => 'Tuntematon virhe.',
'Database does not support password.' => 'Tietokanta ei tue salasanaa.',
'Disable %s or enable %s or %s extensions.' => 'Poista käytöstä %s tai ota käyttöön laajennus %s tai %s.',
);

View File

@@ -1,4 +1,7 @@
Adminer 4.7.6-dev:
Adminer 4.7.7 (released 2020-05-11):
Fix open redirect if Adminer is accessible at //adminer.php%2F@
Adminer 4.7.6 (released 2020-01-31):
Speed up alter table form (regression from 4.4.0)
Fix clicking on non-input fields in alter table (regression from 4.6.2)
Display time of procedure execution

View File

@@ -29,7 +29,7 @@ class AdminerLoginIp {
}
if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
foreach ($this->forwarded_for as $forwarded_for) {
if (strncasecmp(preg_replace('~.*, *~', '', $_SERVER["HTTP_X_FORWARDED_FOR"]), $forwarded_for, strlen($forwarded_for))) {
if (strncasecmp(preg_replace('~.*, *~', '', $_SERVER["HTTP_X_FORWARDED_FOR"]), $forwarded_for, strlen($forwarded_for)) == 0) {
return true;
}
}