Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]System Zabezpieczający.
Forum PHP.pl > Forum > Gotowe rozwiązania > Algorytmy, klasy, funkcje
Rash
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
Ociu
Przenoszę do Algorytmy, klasy, funkcje.
GrayHat
a przed czym ten system ma zabezpieczac poza zasmieceniem bazy danych?
cckoles
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 smile.gif
Pozdrawiam
cojack
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. winksmiley.jpg

Pozdrawiam, zgadzam się z przedmówcą.
aren
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.
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.