Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql]System Zabezpieczający.
Rash
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


Zrobiłem Skrypt.
Skrypt Ten Zapisuje ip odwiedzającego,date i godzine wejscia na stronę:
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR']; //Przypisujesz Zmiennej IP.
  3. $czas = date("H:i:s"); //Przypisujesz zmiennej czas.
  4. $data = date("d-m-Y"); //Przypisujesz Zmiennej Date..
  5. mysql_connect ("host", "login", "haslo"); //Łączysz Się z Bazą
  6. mysql_select_db ("baza"); //Wybierasz Bazę
  7. $zapytanie = "INSERT INTO `ip` (`id`, `ip`, `czas`, `data`) VALUES ('', '$ip', '$czas', '$data')";//Przypisujesz zmiennej Zapytanie
  8. mysql_query($zapytanie); //Wykonujesz Zapytanie
  9. mysql_close(); //Zamykasz połączenie
  10. ?>

Możesz wstawić to do dowlnej podstrony za pomocy:
  1. <?php
  2. include("ip.php");
  3. ?>

To zapytanie Sql:
  1. CREATE TABLE `ip` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `ip` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  4. `czas` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  5. `data` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  6. PRIMARY KEY (`id`))

Mam nadzieje że się wam przyda
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Ociu
post
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Przenoszę do Algorytmy, klasy, funkcje.
Go to the top of the page
+Quote Post
GrayHat
post
Post #3





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

Ostrzeżenie: (0%)
-----


a przed czym ten system ma zabezpieczac poza zasmieceniem bazy danych?
Go to the top of the page
+Quote Post
cckoles
post
Post #4





Grupa: Zarejestrowani
Postów: 37
Pomógł: 1
Dołączył: 2.05.2007

Ostrzeżenie: (0%)
-----


1. Jakie IP otrzymasz jak ktos będzie się łaczył przez proxy ?
2. Jesli juz funkcja mysql to moze lepiej mysqli ? Mysql jest przestarzale i zalecane jest uzywac mysqli.


3.
  1. CREATE TABLE `ip` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `ip` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  4. `czas` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  5. `data` varchar(200) collate utf8_polish_ci DEFAULT NULL,
  6. PRIMARY KEY (`id`))


czas i data jako varchar ?
ip moze miec 200 znakow ?

Uwierz mi, że nie czepiam się ale dobrze przeanalizuj swój kod (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Pozdrawiam
Go to the top of the page
+Quote Post
cojack
post
Post #5





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


No tak trochę to jest tylko jako skrypt który będzie zapisywał ip które wchodziły na stronę i nic po za tym. Można to wykorzystać do dalszych skryptów. Tylko należało by pierw zoptymalizować ten skrypt. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam, zgadzam się z przedmówcą.
Go to the top of the page
+Quote Post
aren
post
Post #6





Grupa: Zarejestrowani
Postów: 25
Pomógł: 1
Dołączył: 8.03.2007

Ostrzeżenie: (0%)
-----


Chociaż to popraw na (na szybkiego):
  1. <?php
  2. CREATE TABLE `ip` (
  3. `id` int(10) NOT NULL auto_increment,
  4. `ip` varchar(15) default NULL,
  5. `data` datetime default '0000-00-00 00:00:00',
  6. PRIMARY KEY (`id`))
  7. ?>

wlasciwie id mozesz dac na mediumint, czy nawet smallint, w zaleznosci od tego ilu masz odwiedzajacych.

Natomiast .php:
  1. <?php
  2. $zapytanie = "INSERT INTO `ip` (`ip`, `data`) VALUES (".mysql_escape_string( $_SERVER['REMOTE_ADDR']).", UTC_TIMESTAMP())";
  3. ?>


1. po oddzielac sobie i date i czas, jesli masz w jednej kolumnie mozesz sobie pozniej bez problemu rozdzielic
2. H:i:s oraz d-m-Y daje odpowiednio (5+1)+(5+1)=12B na rekord, datetime to 8B (to wygodny format). Jednak radzilbym Tobie zapisywac date w unixtime i bedzie zajmowac tobie tylko 4B

To takie male uwagi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:40