![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich forumowiczów mam taki problem
postanowiłem oddzielic dwie rzeczy teraz mam połączone w jednym pliku i treść i warunki i wszystko działa mam duzo stron które mają być zabezpieczone w tej chwili wygląda to następująco plik sprawdz.php który sprawdza czy użytkownik jest zalogowany , czy ma opłacony abonament jeśli nie kieruje odpowiednio do strony opłacenia lub logowania natomiast jesli ktoś jest zalogowany i ma opłacony abonament nie wyświetla treści tylko przeżuca na pierwszą strone zamiast pozostać na tej która ma includa moje drugie pytanie jak zrobić żeby jak nie jest uzytkownik zalogowany i wejdzie na strone kodowaną jest przeżucany do logowania a póżniej na pierwszą strone portalu zamiast na strone z której był przekierowany <?php ob_start(); session_start(); // rozpoczęcie sesji ?> <?php $xxx=isset($_SESSION['login']); include 'inc/db.php'; // połączenie się z bazą danych $tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL $today1 = date("Y-m-d") ; if (!isset($_SESSION['login'])) { header('Location: ../system/logowanie.php '); } $wynik=mysql_query("SELECT * FROM $tabela WHERE status2='0' and login='{$_SESSION["login"]}'"); if (mysql_num_rows($wynik) == 1) { $informacja = mysql_fetch_array($wynik); header('Location: ../system/logowanie.php '); } else { $wynik1 = mysql_query("SELECT * FROM $tabela WHERE status2='1' and login='{$_SESSION["login"]}'"); $row = mysql_fetch_array($wynik1); if ($row['data3'] < $today1) { $wynik = mysql_query("UPDATE $tabela SET status2='0' WHERE login='{$_SESSION['login']}'"); // zapytanie zmieniajace status w bazie w przypadku header('Location: ../system/logowanie.php '); } else { echo "Jesteś zalogowany jako: <b>{$_SESSION["login"]}</b> "; echo "Ważność twojego konta: <b> {$row['data3']} </b> "; echo '<a href="../system/logowanie.php?wylogowanie=tak"><b>Wyloguj się</b></a>'; // treść strony ktora jest zakodowana header('Location: '); } } ?> </div> i plik gdzie jest include sprawdz.php <?php include "sprawdz.php"; #sprawdzenie, czy klient ma prawo jeszcze przeglądać strony z części płatnej ?> jesteś na właściwej stronie |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
A czy w Twoim systemie mógłbym sobie założyć użytkownika "Ktosiek'; DROP TABLE uzytkownik -- "
![]() Ten post edytował szalek01 28.09.2012, 22:17:04 -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
ahh...
zrób sobie kopie bazy naprawdę zrób kopie bazy i ustaw zmienną
-------------------- PDO nie gryzie....
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
ahh... zrób sobie kopie bazy naprawdę zrób kopie bazy i ustaw zmienną
chciałeś mi pokazać że moj system jest do du...y a mógłbyś mi pomóc tak żeby było dobrze i bezpiecznie |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nic takiego nie napisałem
![]() -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Zrób wcięcia, opakuj to w odpowiedni bbcode, nikt się w tym nie połapie przecież.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
http://php.net/manual/pl/function.mysql-re...cape-string.php mam nadzieje że nie rozpętam jakiejś wojenki ale jak by co poczytaj o PDO
-------------------- PDO nie gryzie....
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
http://php.net/manual/pl/function.mysql-re...cape-string.php mam nadzieje że nie rozpętam jakiejś wojenki ale jak by co poczytaj o PDO jestem bardzo początkującym i nie bardzo wiem co mam zrobić ![]() ![]() ![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o zabezpieczenie tych zapytań w to
jak chcesz robić coś dobrze musisz sam przebrnąć przez dokumentując lub poszukać na blogach objaśnień i przykładów Ten post edytował szalek01 28.09.2012, 22:58:30 -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o zabezpieczenie tych zapytań w to
jak chcesz robić coś dobrze musisz sam przebrnąć przez dokumentując lub poszukać na blogach objaśnień i przykładów po wprowadzeniu tych zmian dostałem Parse error: syntax error, unexpected '"', expecting T_STRING................................/kodowane/sprawdz.php on line 17 Ten post edytował artur1203 28.09.2012, 23:32:14 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
a tak : SELECT * FROM $tabela WHERE status2='1' and login='".mysql_real_escape_string($_SESSION["login"])."' Ten post edytował szalek01 28.09.2012, 23:17:09 -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
a tak : SELECT * FROM $tabela WHERE status2='1' and login='".mysql_real_escape_string($_SESSION["login"])."' zrobiłem tak jak napisałeś ale nadal mam ktośka ![]() ![]() dzięki za uwagi bede próbował to zrobić jak mi wyjdzie zobaczymy a wracająć do postu 1 w spawie include pomożecie jak to zrobić |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Musisz zabezpieczyć każde zapytanie poprzez mysql_real_escape_string ale lepszym rozwiązaniem było by zapoznać się z PDO
-------------------- PDO nie gryzie....
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Musisz zabezpieczyć każde zapytanie poprzez mysql_real_escape_string ale lepszym rozwiązaniem było by zapoznać się z PDO rozumiem ze zmienną $_SESSION["login"] zamienić na login='".mysql_real_escape_string($_SESSION["login"])." czy znowu żle zrozumiałem i wracam do pytania z początku jak zrobić plik include sprawdzające warunki działa przy wszystkim tylko nie przy zalogowanym ![]() Ten post edytował artur1203 28.09.2012, 23:37:08 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
poniekąd, w zapytaniach musisz przygotować dane które dodajesz do zapytań, służy do tego funkcja mysql_real_escape_string jednak. Jeśli pobierasz jakieś dane od użytkownika jego login, email czy na przykład frazę którą użytkownik wpisuje w wyszukiwarkę musisz te dane przygotować by nie zrobiły krzywdy bazie danych.
http://www.lonet.eu/php/zabezpieczenie-przed-sql-injection/ http://kacperkolodziej.com/artykuly/webmas...zyc-strone.html -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
poniekąd, w zapytaniach musisz przygotować dane które dodajesz do zapytań, służy do tego funkcja mysql_real_escape_string jednak. Jeśli pobierasz jakieś dane od użytkownika jego login, email czy na przykład frazę którą użytkownik wpisuje w wyszukiwarkę musisz te dane przygotować by nie zrobiły krzywdy bazie danych. http://www.lonet.eu/php/zabezpieczenie-przed-sql-injection/ http://kacperkolodziej.com/artykuly/webmas...zyc-strone.html dzięki za informacje porobie tak jak opisane w postach i dam znać jak poszło czy jest jakiś sposób sprawdzenia strony czy jest dobrze zabezpieczona ![]() a masz jakiś pomysł na mojego include ![]() Ten post edytował artur1203 28.09.2012, 23:47:15 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak inni ale dla mnie ten kod należało by uporządkowawszy. Jeśli uczysz się php, poczytaj o OOP w php o MVC będzie Ci łatwiej.
Co do obecnego podejścia może postaraj się to jakoś tak podzielić.
Ten post edytował szalek01 29.09.2012, 10:18:04 -------------------- PDO nie gryzie....
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc szalek01 juz to rozwązałem
mam jeszcze jedno pytanie jak po przejsciu do logowania i zalogowaniu powrócić do poprzedniej strony i dodatkowo pozmieniałem te wiersze odnośnie zabezpieczenia bazy i nadal jak jest umieszczone ktosiek to sie loguje uzytkownik ktosiek |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 17 Dołączył: 17.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
1) możesz przekazać sobie parametr w adresie do logowania gdzie ma wrócić po zalogowaniu
2) możesz skorzystać z zmiennej $_SERVER i tam o ile dobrze pamiętam masz REMOTE_HOST czyli adres z skąd użytkownik przyszedł -------------------- PDO nie gryzie....
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:52 |