Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL]bezpieczeństwo dostępu do bazy mysql
Forum PHP.pl > Forum > Przedszkole
doomink
Witam,
piszę serwis umozliwiający każdemu odwiedzającemu www wyszukanie frazy z bazy mysgql. na stronie index.html jest formularz, jak ktos klikni szukaj przechodzi do strony szukaj.php- i tutaj problem- na stronire szukaj php jest fragment:
$polaczenie = mysql_connect("xxbazaxx", "xxuserxx", "xxhasłoxx");
dalej kwerenda oraz kod html wyświetlający wyniki.
mój problem polega na tym czy odwiedzający strone może jakoś zobaczyć kod źródłowy strony szukaj.php (dane do logowania)questionmark.gif
Z gór dziękuje za odpowiedz.
Pzdr

wookieb
Nie
amii
Nie może tego zobaczyć bo plik php jest parsowany po stronie serwera.

Więc chyba, że byś miał nie aktywny kompilator php na serwerze to ktoś by sobie mógł ściągnąć plik na dysk i zobaczyć
wdev
Co nie zmienia faktu, że dobrym zwyczajem jest trzymanie wszystkich wrażliwych danych poza katalogiem dostępnym przez www, a później użycie require.
doomink
Cytat(amii @ 3.11.2010, 11:09:24 ) *
Nie może tego zobaczyć bo plik php jest parsowany po stronie serwera.

Więc chyba, że byś miał nie aktywny kompilator php na serwerze to ktoś by sobie mógł ściągnąć plik na dysk i zobaczyć


Dziekuje za odp ale nie bardzo rozumiem co oznacza aktywny kompilator - mam konto hostingowe i php wougle nie konfigurowałem??
wookieb
A zdarza się, że kompilator php na serwerze nagle Ci się wyłączy? Raczej nie. Aczkolwiek rada kolegi nade mną jest jak najbardziej na miejscu.
doomink
Cytat(wdev @ 3.11.2010, 13:18:35 ) *
Co nie zmienia faktu, że dobrym zwyczajem jest trzymanie wszystkich wrażliwych danych poza katalogiem dostępnym przez www, a później użycie require.


Ale dlaczego skoro skrypt jest i tak niewidoczny??
Mephistofeles
Bo może zdarzyć się błąd serwera, PHP przestanie działać i nie będzie interpretowało skryptów, wtedy atakujący zobaczy treść w przeglądarce, a gdy przeniesiesz takie pliki ponad katalog publiczny wtedy nie będą one dostępne z zewnątrz, więc pozostaną mu tylko do wykorzystania błędy w samym kodzie.
wdev
Można jeszcze dodać:
2. Niektóre programy robią sobie automatycznie kopie plików, np. o nazwie .mojskrypt.php~. Wrzucasz cały folder i z rozpędu zapominasz usunąć te pliki (które w dodatku są ukryte) i cały Twój kod może sobie ktoś ściągnąć. Trzymanie pliku połączenia z BD choć trochę zmniejszy skutki takiego błędu.
3. Nie musisz w każdym pliku od nowa pisać połączenia z bazą. Zrobisz to raz, a resztę załatwia króciutka linijka kodu.
Mephistofeles
Najlepiej, żeby w public_html był tylko index.php i zawartość statyczna.
doomink
Cytat(wdev @ 3.11.2010, 13:18:35 ) *
Co nie zmienia faktu, że dobrym zwyczajem jest trzymanie wszystkich wrażliwych danych poza katalogiem dostępnym przez www, a później użycie require.


ok, tylko mogę np.
<? require("szukaj.php"); ?>
ale szukaj.php i tak musi być w katalogu public_html, jeśli zrobię katalog np funkcje i zastosuje:
<? require("funkcje\showuser.php"); ?>
nie dizała, wiec jak najlepiej to rozwiązaćquestionmark.gif
Daimos
Robisz sobie na serwerze kolejny podkatalog, np. Public
tam wrzucasz plik index.php
tam też kierujesz domene, na katalog Public!
na tym samym poziomie co public, robisz katalog np. Library i masz taką strukturę:

Library
--- klasa.php
Public
--- index.php

a w pliku index.php robisz require_once('../Library/klasa.php');

W taki o to magiczny sposób winksmiley.jpg nikt nie ma dostępu z poziomu www do katalogu z Twoimi klasami, konfiguracjami, czy co tam sobie wymyślisz
Mephistofeles
Jest takie coś jak dwie kropki, wygląda tak: '..', a pozwala na dotarcie do katalogu poziom wyżej winksmiley.jpg.
doomink
ok dziękuje za pomoc zrobiłem połączenie na reqire tylko teraz jest problem ze stroncowaniem- jak je zrobić jeśli raz wywołuje funkcje poprzez reqire(kw.php) to w pliku kw.php mam dostep do zmiennej tylko za pierwszym wywołaniem... czy można jakoś rozwiązac ten problem?? próbowałem np require("../folder/kw.php$ile=5.") ale taka składnia wyrzuca błędy...czy można jakoś przesyłać zmienne do pliku php poprzez reqire??
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.