MysQl lösen synligt på sidan?

Trädvy Permalänk
Medlem
Plats
65 14
Registrerad
Dec 2001

MysQl lösen synligt på sidan?

Min kunskap inom säkerhet i php är lika med noll!

Men jag följer guider på Youtube hur man gör olika saker i php/html/css med mera

Så att ansluta till en databas är detta min kod

mysql_connect.php

<?php include('secur.php'); $link = mysql_connect($server, $user, $password); if (!$link) { die('Not connected : ' . mysql_error()); } // make foo the current db $db_selected = mysql_select_db($user, $link); mysql_set_charset("utf8"); if (!$db_selected) { die ('Kunde ej ansluta till Databasen : ' . mysql_error()); } ?>

secur.php

<?php $user = "**********"; $server = ""**********"; $password = ""**********"; ?>

Men ändå säger en kille som jag pratat med att koden är helt synlig för honom för att kunna förstöra databasen.

Så hur döljer med mysql user, server och password?

Samsung 34'' ultrawide curved
Logitech MX master & Logitech g910
Creative SoundBlaster Katana

Trädvy Permalänk
Medlem
Plats
Piteå
Registrerad
Okt 2004

PDO brukar väl rekommenderas om man ska skriva/läsa från databas http://php.net/manual/en/ref.pdo-mysql.php kan va värt att kika på

CPU: AMD Ryzen 1700x @ 3.8GHz || Mem: 16GB Corsair LPX 3000mhz || Mobo: Asus x370 Prime || GPU: EVGA Geforce GTX1070 SC || SSD: WD black 500GB m2 || OS: Linux Mint/Win 10 || Monitor: Dell 43" 4K P4317Q

Citera om du vill ha svar :)

Trädvy Permalänk
Legendarisk
Hedersmedlem
Plats
::1
Registrerad
Dec 2002

@downup: En möjlig orsak är om webbservern inte är konfigurerad för att låta PHP hantera filerna utan istället skicka ut källkoden som text, men antar att det fungerar för dig? En annan är om du använder korta öppningstaggar för PHP och servern inte har dessa aktiverade, men det gör inte dina exempel. Ytterligare en är om det är en kompis som hittat något annat experiment som låter honom se innehållet i andra filer. Har han demonstrerat att han kan se lösenordet (har du uteslutit att han driver med dig)? Eftersom att kodsnuttarna själva inte påverkar detta är det svårt att säga mycket mer. Vad är det för webbserver? Hur har du installerat den?

Det är dock god form att inte ha filer som inte ska anropas direkt i publika mappar, lägg istället dessa i en privat katalog utanför docrooten och låt de filer som måste använda dessa inkludera koden därifrån:

─ yoursite ├─ include <- kan inte nås direkt från webbläsaren │ ├─ secur.php │ └─ mysql_connect.php └─ docroot <- här har du publikt material └─ index.php


Observera även att funktionerna i mysql_*-familjen (ett av flera gränssnitt för att ansluta till MySQL — inte databasen i sig) inte längre bör användas, de är gamla och helt borttagna från nyare versioner av PHP. Följer du en guide som rekommenderar dessa så är den sannolikt hopplöst utdaterad. Rekommenderar att du tittar på en guide som introducerar PDO istället.

Samma gäller raden mysql_set_charset("utf8");. I MySQL innebär tabellen "utf8" en äldre, begränsad variant av UTF-8 som bara klarar en delmängd av alla tecken. Har du ingen särskild anledning att välja den så bör du använda tabellen "utf8mb4" istället.

Abstractions all the way down.

Trädvy Permalänk
Medlem
Plats
65 14
Registrerad
Dec 2001
Skrivet av Tunnelsork:

@downup: En möjlig orsak är om webbservern inte är konfigurerad för att låta PHP hantera filerna utan istället skicka ut källkoden som text, men antar att det fungerar för dig? En annan är om det är en kompis som hittat något annat experiment som låter honom se innehållet i andra filer. Har han demonstrerat att han kan se lösenordet (har du uteslutit att han driver med dig)? Eftersom att kodsnuttarna själva inte påverkar detta är det svårt att säga mycket mer. Vad är det för webbserver? Hur har du installerat den?

Det är dock god form att inte ha filer som inte ska anropas direkt i publika mappar, lägg istället dessa i en privat katalog utanför docrooten och låt de filer som måste använda dessa inkludera koden därifrån:

─ yoursite ├─ include <- kan inte nås direkt från webbläsaren │ ├─ secur.php │ └─ mysql_connect.php └─ docroot <- här har du publikt material └─ index.php


Observera även att funktionerna i mysql_*-familjen (ett av flera gränssnitt för att ansluta till MySQL — inte databasen i sig) inte längre bör användas, de är gamla och helt borttagna från nyare versioner av PHP. Följer du en guide som rekommenderar dessa så är den sannolikt hopplöst utdaterad. Rekommenderar att du tittar på en guide som introducerar PDO istället.

Samma gäller raden mysql_set_charset("utf8");. I MySQL innebär tabellen "utf8" en äldre, begränsad variant av UTF-8 som bara klarar en delmängd av alla tecken. Har du ingen särskild anledning att välja den så bör du använda tabellen "utf8mb4" istället.

Det är one.com vi har hemsidan på. Ska kolla mer med honom hur.

mysql koderna ligger i en annan mapp, sidorna som hämtar information från mysql_connect.php använder <?php include(''); ?>
Tack för ditt långa svar.

Samsung 34'' ultrawide curved
Logitech MX master & Logitech g910
Creative SoundBlaster Katana