Giter VIP home page Giter VIP logo

website's Introduction

phpMyAdmin

A web interface for MySQL and MariaDB.

https://www.phpmyadmin.net/

Code status

Testsuite

End-to-End tests

Documentation build status

Translation status

Coverage percentage

Code quality score

CII Best Practices

Type coverage

Infection MSI

Download

You can get the newest release at https://www.phpmyadmin.net/.

If you prefer to follow the Git repository, the following branch and tag names may be of interest:

  • STABLE is the current stable release.
  • master is the development branch.
  • Releases are tagged; for example, version 5.0.1 was tagged as RELEASE_5_0_1.

Note that phpMyAdmin uses Composer to manage library dependencies; when using Git development versions, you must manually run Composer. Please see the documentation for details.

More Information

Please see https://docs.phpmyadmin.net/, or browse the documentation in the docs folder.

For support or security issues, you can visit https://www.phpmyadmin.net/

Translations are welcome. You can translate phpMyAdmin into your language.

If you would like to contribute to the phpMyAdmin's codebase, you can read the code contribution file or browse our website's contributing page.

website's People

Contributors

aaleksanyants avatar annainfo avatar atul516 avatar chanaka avatar d-storm avatar devenbansod avatar garimarajput748 avatar hebbet avatar helmo avatar hinoue-work avatar ibennetch avatar kohenkatz avatar lem9 avatar madhuracj avatar mauriciofauth avatar mynetx avatar nijel avatar robert-scheck avatar roccivic avatar ruleant avatar williamdedwards avatar williamdes avatar zweisteinsoft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Hide server version data

Avoid leaking information to attackers by removing response headers that say what software is running on your web server.

Many web servers give the name and versions of software that were used to respond to a request within the response headers. For example, a server might respond with the header Server: Apache/2.2.20 (Win32) PHP/5.3.10 when a page is requested. This can give hints to attackers on how to search for vulnerabilities. Response headers that can contain software version information include the Server, Powered-by, ASPNET and ASPNETMVC headers. You should configure your server to suppress headers like these. Note that a determined attacker can uncover details about your server configuration in other ways and can find exploits without knowing this information anyway. However, making life a little harder for an attacker by keeping this information hidden doesn't usually require a lot of effort. Learn more.

Implement CSP & HPKP violation reporting

As report by Emanuel Bronshtein,

I suggest to implement the following for *.phpmyadmin.net websites:
* 'Public-Key-Pins-Report-Only' header, more information:
https://developers.google.com/web/updates/2015/09/HPKP-reporting-with-chrome-46?hl=en
https://developer.mozilla.org/en/docs/Web/Security/Public_Key_Pinning
* report-uri directive in CSP headers, more information:
https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Using_CSP_violation_reports

one free service that can be used for that purpose:
https://report-uri.io/

while using 'Public Key Pinning (HPKP)' is better, it's vulnerable to 'HPKP Suicide/Footgun' problem (very bad to lose control over keys), more information:
https://scotthelme.co.uk/using-security-features-to-do-bad-things/
https://blog.qualys.com/ssllabs/2016/09/06/is-http-public-key-pinning-dead
Thus I suggest to implement only the reporting feature (Public-Key-Pins-Report-Only header)
more information regarding HPKP & Lets Encrypt usage:
https://scotthelme.co.uk/setting-up-le/
https://scotthelme.co.uk/lets-encrypt-smart-renew/

security RSS broken CVE links

Open https://www.phpmyadmin.net/security/feed/

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>phpMyAdmin security announcements</title><link>https://www.phpmyadmin.net/files/</link><description>Security announcements from the phpMyAdmin project.</description><atom:link href="https://www.phpmyadmin.net/security/feed/" rel="self"></atom:link><language>en-us</language><lastBuildDate>Tue, 17 Apr 2018 18:55:21 +0000</lastBuildDate><item><title>PMASA-2018-2</title><link>https://www.phpmyadmin.net/security/PMASA-2018-2/</link><description>&lt;p&gt;CSRF vulnerability allowing arbitrary SQL execution&lt;/p&gt;

&lt;h3&gt;Affected Versions&lt;/h3&gt;
&lt;p&gt;Version 4.8.0 is affected&lt;/p&gt;

&lt;h3&gt;CVE ID&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=(&amp;#39;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10188&amp;#39;, u&amp;#39;CVE-2018-10188&amp;#39;)"&gt;(&amp;#39;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10188&amp;#39;, u&amp;#39;CVE-2018-10188&amp;#39;)&lt;/a&gt;&lt;/p&gt;

Decoded :

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>phpMyAdmin security announcements</title><link>https://www.phpmyadmin.net/files/</link><description>Security announcements from the phpMyAdmin project.</description><atom:link href="https://www.phpmyadmin.net/security/feed/" rel="self"></atom:link><language>en-us</language><lastBuildDate>Tue, 17 Apr 2018 18:55:21 +0000</lastBuildDate><item><title>PMASA-2018-2</title><link>https://www.phpmyadmin.net/security/PMASA-2018-2/</link><description><p>CSRF vulnerability allowing arbitrary SQL execution</p>

<h3>Affected Versions</h3>
<p>Version 4.8.0 is affected</p>

<h3>CVE ID</h3>

<p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=(&#39;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10188&#39;, u&#39;CVE-2018-10188&#39;)">(&#39;https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10188&#39;, u&#39;CVE-2018-10188&#39;)</a></p>

You can see that the link to the CVE contains the link to the CVE.

Seems to be because of :

yield 'https://cve.mitre.org/cgi-bin/cvename.cgi?name={0}'. format(cve), cve

Screenshots

Thunderbird

selection_057

Feedly

selection_058

Add support for metalink

It might be useful to have support for metalink for downloads. The good thing on it is that it can include checksums and PGP signature for automated checking. The bad thing is that there doesn't seem to be client to implement PGP verification, so we're only back to checksums (and SHA-256 is mostly not supported as well).

See https://en.wikipedia.org/wiki/Metalink

This really needs decision whether it's worth of the effort.

Hashes do not match files (CDN CACHE ?)

Run

<?php

$exts = ["zip", "tar.gz", "tar.xz"];

$hashes = ["sha256", "sha1"];

$variants = ["all-languages", "source", "english"];

$downloads = [
	'https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-' => 'phpMyAdmin-5.0+snapshot',
	'https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-' => 'phpMyAdmin-4.8+snapshot'
];

$i = 0;

foreach ($downloads as $url => $version) {
	foreach ($variants as $variant) {
		foreach ($exts as $ext) {
			$i++;
			$link = "$url$variant.$ext";
			echo $link.PHP_EOL;
			file_put_contents("${version}-$variant.$ext", file_get_contents($link));
			foreach ($hashes as $hash) {
				file_put_contents("${version}-$variant.$ext.$hash", file_get_contents($link.".$hash"));
				echo $link.".$hash".PHP_EOL;
				$i++;
			}
		}
	}
}

echo "Count: $i".PHP_EOL;

Check hashes

sha256sum --check ./*.sha256
sha1sum --check ./*.sha1

Output

SHA1 (Réussi=success, Échec=failed)

phpMyAdmin-4.8+snapshot-all-languages.tar.gz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-all-languages.tar.xz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-all-languages.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-english.tar.gz: Réussi
phpMyAdmin-4.8+snapshot-english.tar.xz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-english.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-source.tar.gz: Réussi
phpMyAdmin-4.8+snapshot-source.tar.xz: Réussi
phpMyAdmin-4.8+snapshot-source.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-all-languages.tar.gz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-all-languages.tar.xz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-all-languages.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-english.tar.gz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-english.tar.xz: Réussi
phpMyAdmin-5.0+snapshot-english.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-source.tar.gz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-source.tar.xz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-source.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas

SHA256 (Réussi=success, Échec=failed)

phpMyAdmin-4.8+snapshot-all-languages.tar.gz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-all-languages.tar.xz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-all-languages.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-english.tar.gz: Réussi
phpMyAdmin-4.8+snapshot-english.tar.xz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-english.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-4.8+snapshot-source.tar.gz: Réussi
phpMyAdmin-4.8+snapshot-source.tar.xz: Réussi
phpMyAdmin-4.8+snapshot-source.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-all-languages.tar.gz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-all-languages.tar.xz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-all-languages.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-english.tar.gz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-english.tar.xz: Réussi
phpMyAdmin-5.0+snapshot-english.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-source.tar.gz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-source.tar.xz: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas
phpMyAdmin-5.0+snapshot-source.zip: Échec
sha1sum: Attention : 1 somme de contrôle ne correspond pas

CURL caches

curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-all-languages.zip.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-all-languages.zip.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-all-languages.tar.gz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-all-languages.tar.gz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-all-languages.tar.xz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-all-languages.tar.xz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-source.zip.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-source.zip.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-source.tar.gz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-source.tar.gz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-source.tar.xz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-source.tar.xz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-english.zip.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-english.zip.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-english.tar.gz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-english.tar.gz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-english.tar.xz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-5.0+snapshot-english.tar.xz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-all-languages.zip.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-all-languages.zip.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-all-languages.tar.gz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-all-languages.tar.gz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-all-languages.tar.xz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-all-languages.tar.xz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-source.zip.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-source.zip.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-source.tar.gz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-source.tar.gz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-source.tar.xz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-source.tar.xz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-english.zip.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-english.zip.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-english.tar.gz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-english.tar.gz.sha1  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-english.tar.xz.sha256  | grep 'last-modified: '
curl -s -I https://files.phpmyadmin.net/snapshots/phpMyAdmin-4.8+snapshot-english.tar.xz.sha1  | grep 'last-modified: '

All modified files before today are not okay.

Replace SHA1 checksums as they 'practically' broken

The SHA1 hash was practically broken (regarding collision resistance), see:
https://shattered.io/
thus it's not recommended to use it in scenarios that relay on collision resistance.
Regarding PMA it's mean to remove it's usage as checksum for downloads.
(HMAC-SHA1 [cookie auth + github api] is still safe as it's security not depend on resistance to collisions)

fix:

  1. remove SHA1 checksums usage for downloadable files in:
    https://www.phpmyadmin.net/downloads/
    https://www.phpmyadmin.net/themes/
  2. optional: add BLAKE2 checksums instead (b2sum tool), more information:
    https://www.gnu.org/software/coreutils/manual/html_node/b2sum-invocation.html#b2sum-invocation
    https://leastauthority.com/blog/BLAKE2-harder-better-faster-stronger-than-MD5/

SHA256 is considered secure, it's not broken even theoretically.

missing meta description

all pages of this website are missing a meta description

"Meta descriptions may be included in search results to concisely summarize page content."
it is highly recommended to provide a unique description for each page.

This also improves SEO ratings

redirection status codes

there are more than 29 pages linked with a redirect returning a status code between 300 and 399.

and also 1 page with a 4xx code.

fixing this would improve the website overall

CSP improvements

  1. CSP Improvements (for WebSite)

https://www.phpmyadmin.net/ return the following CSP header:
content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.google-analytics.com/; img-src 'self' https://www.google-analytics.com/ https://www.paypalobjects.com/; style-src 'self' 'unsafe-inline'; child-src 'none'; object-src 'none'

2.1) Change Google Analytics loading

The usage of current Google Analytics code require unsafe-inline in script-src

fix: (by applying any of the below, the unsafe-inline can be removed from script-src)
move the inline code into external file
https://stackoverflow.com/questions/30939809/google-analytics-js-and-content-security-policy
or generate a hash for inline script:
https://www.w3.org/TR/2015/CR-CSP2-20150721/#script-src-hash-usage

2.2) Dynamic CSP usage

The https://www.paypalobjects.com/ in img-src is needed only in some pages, such as:

    https://github.com/phpmyadmin/website/blob/master/pmaweb/templates/donate.html#L31
    https://github.com/phpmyadmin/website/blob/master/pmaweb/templates/sponsors.html#L126

2.3) More Strict CSP Policy

The usage of action attribute is used in the below pages (to https://www.paypal.com/)

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">

thus use form-action directive to white-list action locations
https://developer.mozilla.org/en/docs/Web/Security/CSP/CSP_policy_directives#form-action

  1. Missing CSP Policy

visiting:
https://www.phpmyadmin.net/fff/
result:

no CSP Policy sent, also the page load javascript from https://linkhelp.clients.google.com/ (need to add to script-src directive)
https://github.com/phpmyadmin/website/blob/master/pmaweb/templates/404.html#L23

Remove or clarify statement about asking questions on Stack Overflow on support page

Here's the live support page. Here's the relevant statement:

Questions directly related to phpMyAdmin should be asked on stackoverflow.

This should be, at the least, clarified as not all questions pertaining to phpMyAdmin are on-topic (and therefore welcome) at Stack Overflow. See the following question on the meta Stack Overflow site for details about the suitability of sending your users to Stack Overflow for all support questions:

Other sites in the Stack Exchange family that may be more appropriate for users to submit questions:

Wrong link to a book

Received by email:

https://www.phpmyadmin.net/ links to https://link.packtpub.com/XJdqZr for the "Mastering phpMyAdmin 3.4 for Effective MySQL Management” book, but for me, that shortened link resolves to "Moodle 2 Administration” (https://www.packtpub.com/hardware-and-creative/moodle-2-administration) instead of https://www.packtpub.com/big-data-and-business-intelligence/mastering-phpmyadmin-34-effective-mysql-management.
I’m guessing it’s a typo, or packtpub’s link shortener has gone funny.

Add links validation and https upgrade command

We should add management command, which would go through all links inside database and check them:

  • Report broken links
  • Report links which use http while they should use https
  • Optionally upgrade http links to https

Daily builds not updating due to Composer errors

The daily snapshot build for QA_4_8 isn't building (master seems to be okay). This output is generated:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - pragmarx/google2fa-qrcode v1.0.2 requires pragmarx/google2fa ~4.0 -> satisfiable by pragmarx/google2fa[v4.0.0] but these conflict with your requirements or minimum-stability.
    - pragmarx/google2fa-qrcode v1.0.1 requires pragmarx/google2fa ~4.0 -> satisfiable by pragmarx/google2fa[v4.0.0] but these conflict with your requirements or minimum-stability.
    - pragmarx/google2fa-qrcode v1.0.0 requires pragmarx/google2fa ~4.0 -> satisfiable by pragmarx/google2fa[v4.0.0] but these conflict with your requirements or minimum-stability.
    - Installation request for pragmarx/google2fa-qrcode ^1.0 -> satisfiable by pragmarx/google2fa-qrcode[v1.0.0, v1.0.1, v1.0.2].


Installation failed, reverting ./composer.json to its original content.

Seems to be caused by phpmyadmin/phpmyadmin@8a7d18d#diff-9ae6a61e1603c6b8906021473d5c57faL238

Exposed old (not latest) PMA interface with setup

As report by Emanuel Bronshtein,

https://admin.phpmyadmin.net/phpmyadmin/
Running PMA version: phpMyAdmin 4.2.12deb2+deb8u2
Version detected via SETUP export, see issue: phpmyadmin/phpmyadmin#12469

fix:
1. upgrade to latest PMA version. (may require upload to debian-stable? so might wait for 4.6.5?)
2. it's better to change the folder to not-predictable name / set BF protection (Recaptcha)
3. disable exposing setup: https://admin.phpmyadmin.net/phpmyadmin/setup/

Upgrade embedded libraries

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.