Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP, MYSQL] Skrypt zapisujący IP
MlodyJNTR
post 6.04.2013, 08:32:37
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 18.10.2011

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


Witam napisałem z nudów skrypt PHP i Mysql ponieważ na facebooku dużo osób się podszywa pod inne osoby i pobiera czyjeś zdjęcia i wstawia na konta fikcyjne i nie chcę usuwać.

Skrypt ten zapisuje IP, z jakiej strony przyszedł i kiedy. Napisałem go przez godzinę.
Demo: http://mlodyjntr.ugu.pl/IP/

  1. <meta charset="windows-1250" />
  2.  
  3. <?php
  4. /* link do połączenia z bazą danych */
  5.  
  6. $haslo = htmlspecialchars(stripslashes(strip_tags(trim($_GET['haslo']))), ENT_QUOTES);
  7. $id = htmlspecialchars(stripslashes(strip_tags(trim($_GET['id']))), ENT_QUOTES);
  8. if ($id) {
  9. $zkad = $_SERVER['HTTP_REFERER'];
  10. $ip_tresc.= 'IP: '.$_SERVER['REMOTE_ADDR'].', skąd przychodzi: ';
  11. if ($zkad) { $ip_tresc.= $zkad; } else { $ip_tresc.='stąd'; }
  12. $ip_tresc.= ', data: '.date("d-m-Y, H:i:s").'\n';
  13. $id = mysql_fetch_array(mysql_query("SELECT * FROM `skrypt_ip` WHERE linkip = '$id'"));
  14. $ip_tresc = $ip_tresc.''.$id['ip_tresc'];
  15. mysql_query("UPDATE skrypt_ip SET ip_tresc='$ip_tresc' WHERE `id` = '".$id['id']."'");
  16. if($id['link']) { $link = $id['link']; } else { $link = 'http://google.com'; }
  17. echo "<script>window.location.href='".$link."';</script>";
  18. } else {
  19. if (!$haslo) {
  20. if ($_POST["wyslane"]) {
  21. $haslo = htmlspecialchars(stripslashes(strip_tags(trim($_POST['haslo']))), ENT_QUOTES);
  22. if($haslo == "") {
  23. function haslo($dlugosc_kodu) { $znaki = "ABCDEFGHIJKLMNOPRSTUWXYZabcdefghijklmnopqrstuvwxyz1234567890"; for($i=0;$i<$dlugosc_kodu;$i++) { $aktyw .= $znaki{rand(0,strlen($znaki))}; } return $aktyw; }
  24. $haslo = haslo(50);
  25. $linkip = haslo(20);
  26. mysql_query($wynik = "INSERT INTO `skrypt_ip` (id, haslo, linkip) VALUES('', '$haslo', '$linkip');");
  27. } else {
  28. $haslo = mysql_fetch_array(mysql_query("SELECT * FROM `skrypt_ip` WHERE haslo = '$haslo'"));
  29. $haslo = $haslo['haslo'];
  30. echo "<script>window.location.href='index.php?haslo=$haslo';</script>";
  31. }}
  32.  
  33. echo '<form id="post" method="post" name="post" onsubmit="return checkForm(this)" enctype="multipart/form-data" action="">
  34. <input type="hidden" name="wyslane" value="TRUE">
  35.  
  36. <center>
  37. <font size="5"><u>Jeżeli masz już konto to wpisz hasło, a jeżeli nie masz to wciśnij OK!</u></font><br>
  38. <b>Podaj hasło:</b> <input type="text" name="haslo"> <input type="submit" name="post" value="OK"><br>';
  39. if ($haslo) { echo 'Twoje hasło to <b>'.$haslo.'</b> zapisz je gdzieś, teraz możesz wpisać do pola podaj hasło!'; }
  40. echo '</center>
  41. </form>';
  42. } else {
  43. $haslo = mysql_fetch_array(mysql_query("SELECT * FROM `skrypt_ip` WHERE haslo = '$haslo'"));
  44. if ($haslo['id']) {
  45. if ($_POST["wyslane"]) {
  46. $link = htmlspecialchars(stripslashes(strip_tags(trim($_POST['link']))), ENT_QUOTES);
  47. $ip_tresc = htmlspecialchars(stripslashes(strip_tags(trim($_POST['ip_tresc']))), ENT_QUOTES);
  48. mysql_query("UPDATE skrypt_ip SET link='$link', ip_tresc='$ip_tresc' WHERE `ip_tresc` = '".$haslo['ip_tresc']."'");
  49. echo "<script>window.location.href='index.php?haslo=".$haslo['haslo']."';</script>";
  50. }
  51.  
  52. <form id="post" method="post" name="post" onsubmit="return checkForm(this)" enctype="multipart/form-data" action="">
  53. <input type="hidden" name="wyslane" value="TRUE">
  54. <center><textarea name="ip_tresc" style="width:728px; height:400px;;">'.($haslo['ip_tresc']).'</textarea><br>
  55. Podaj ten link komuś aby sprawdzić IP: <b>http://'.$_SERVER['SERVER_NAME'].''.$_SERVER['SCRIPT_NAME'].'?id='.$haslo['linkip'].'</b>.<br>
  56. Ten link jest dużo rozpoznawalny aby go jakoś ukryć skozysztaj z usługi np. <a href="http://tnij.org">Tnij.org</a>, <a href="http://skroc.pl/">Skroc.pl</a><br>
  57. <b>Link do przekerowania:</b> <input type="text" style="width: 300px" value="'.$haslo['link'].'" name="link"> <input type="submit" name="post" value="OK"><br>';
  58. echo '</center>
  59. </form>';
  60. } else { echo "<script>window.location.href='index.php';</script>"; }
  61. }}
  62. ?>


  1. CREATE TABLE IF NOT EXISTS `skrypt_ip` (
  2. `id` int(100) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `haslo` varchar(3000) COLLATE latin1_general_cs NOT NULL,
  4. `linkip` varchar(100) COLLATE latin1_general_cs NOT NULL,
  5. `ip_tresc` varchar(3000) COLLATE latin1_general_cs NOT NULL,
  6. `link` varchar(3000) COLLATE latin1_general_cs NOT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs AUTO_INCREMENT=0 ;


Nowa strona z Demo: Demo

Ten post edytował MlodyJNTR 6.03.2013, 19:26:02
Go to the top of the page
+Quote Post
markonix
post 6.04.2013, 11:18:11
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Co ma skrypt do działu "Skrypty obsługi baz danych"?

Kod mega brzydki, podręcznikowe spaghetti.

Nie rozumiem po co takie długie hasła, tak samo identyfikatory.
Są lepsze sposoby do tworzenia unikalnych stringów, tutaj nawet nie ma unikalnych - są losowe więc trzeba liczyć, że się nie powtórzą.
  1. enctype="multipart/form-data"
po co to?
Czemu przekierowanie nie następuje za pomocą PHP (tzn. przy tej sieczce nie zadziała, ale jest znacznie pewniejszym rozwiązaniem)?
CHARSET=latin1 - lepiej utf.
<meta charset="windows-1250" /> - fuj.
Nie mam pewności ale użyte funkcji na stringu nie zabezpieczają przed SQL Injection - przynajmniej żadna z nich do tego nie służy.

Ogólnie wygenerowałem hasło, utworzyłem link i .. nie wiem gdzie sprawdzić jakiś wynik.
Userbility kuleje.

Ten post edytował markonix 6.04.2013, 11:19:00


--------------------
Go to the top of the page
+Quote Post
wlisik
post 8.08.2013, 10:59:25
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 5.08.2013

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


Cytat(markonix @ 6.04.2013, 12:18:11 ) *
Co ma skrypt do działu "Skrypty obsługi baz danych"?

Kod mega brzydki, podręcznikowe spaghetti.

Nie rozumiem po co takie długie hasła, tak samo identyfikatory.
Są lepsze sposoby do tworzenia unikalnych stringów, tutaj nawet nie ma unikalnych - są losowe więc trzeba liczyć, że się nie powtórzą.
  1. enctype="multipart/form-data"
po co to?
Czemu przekierowanie nie następuje za pomocą PHP (tzn. przy tej sieczce nie zadziała, ale jest znacznie pewniejszym rozwiązaniem)?
CHARSET=latin1 - lepiej utf.
<meta charset="windows-1250" /> - fuj.
Nie mam pewności ale użyte funkcji na stringu nie zabezpieczają przed SQL Injection - przynajmniej żadna z nich do tego nie służy.

Ogólnie wygenerowałem hasło, utworzyłem link i .. nie wiem gdzie sprawdzić jakiś wynik.
Userbility kuleje.

Za taki najazd na usera powinien być warn albo nawet i ban. Ktoś się namęczył po to aby druga osoba go krytykowała. Nieładnie.
Co do FB to jest to prawda - na FB zdarza się to coraz częściej.
Skrypt się jaknajbardziej przyda. Dzięki wielkie.

Ten post edytował wlisik 8.08.2013, 11:01:32
Go to the top of the page
+Quote Post
ziqzaq
post 8.08.2013, 11:18:03
Post #4





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Cytat
Za taki najazd na usera powinien być warn albo nawet i ban.

Padłem. Forum powinno wprowadzić "megaban". To jest żart? smile.gif
Przecież markonix napisał prawdę. Niestety jakość tego kodu jest bardzo niska a jesteśmy na forum php, więc co jest dziwnego lub nie fair w tej krytyce?
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 11:05