Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Zabezpieczenie modułu przez "nabijaniem"
fredzio90
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

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


mam takówy problem.. robie moduł do systemu CMS podobnego do Programu Partnerskiego na stronach komercyjnych.. i mam problem...
mam 2 tabele do jednej zapisuje się zarejestrowanego usera, do drugiej zapisywane są adresy ip które odwiedziły linki PP ( domyślacie się, linki aby zbierać punkty ) i moj problem polega na zabezpieczeniu przez nabijaniem punktów przez tą samą osobe, przez te same IP.... napisałem taką funkcje:

  1. <?php
  2. function pp_view() {
  3. global $pp_tbl, $pp_conf_tbl, $goto, $PHP_SELF, $REMOTE_ADDR;
  4.  
  5.  
  6. $sql = mysql_query("SELECT * FROM $pp_tbl WHERE pp_nr='{$_GET['url']}'");
  7. while($r = mysql_fetch_array($sql)) {
  8. $points = $r['points'];
  9. $nr_pp = $r['pp_nr'];
  10. $ppnick = $r['ident']; 
  11.  
  12. $check = mysql_query("SELECT * FROM $pp_conf_tbl");
  13. while($ccc = mysql_fetch_array($check)) {
  14. $ip = $ccc['ip'];
  15. }
  16.  
  17. if($ip=='$REMOTE_ADDR') {
  18. header("Location: $PHP_SELF");
  19. } else {
  20. $sqlUp = mysql_query("UPDATE $pp_tbl SET points=points+1 WHERE ident='$ppnick'");
  21. $sqlZab = mysql_query("INSERT INTO $pp_conf_tbl SET ip='$REMOTE_ADDR', data=now()");
  22. header("Location: $PHP_SELF");
  23. }
  24. }
  25. }
  26. ?>



i niewiem jak tą funkcje przekrztałcić aby:

podczas wchodzenia w link, sprawdzane było w tabeli $pp_conf_tbl czy ip usera ktory kliknow w link PP nie znajduje się w tabeli.. jeżeli tak to żeby pokazało $PHP_SELF, a jeżeli nie to żeby dodało jego ip do bazy $pp_conf_tbl i zaaktualizowało tabele $pp_tbl a dokladnie jego pole points+1...

jak kilkam w odnosnik kierujacy do dodania punktów, dodaje się do bazy ip i aktualizuje punkty usera, lecz powinno wykrywać także czy ip usera nie jest w tabeli i uniemożliwić "nalicznie" punnktów...

Ten post edytował fredzio90 28.03.2007, 19:33:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MacPain
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 22.09.2006

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


Pobierasz nr ip od kolesia sprawdzasz czy istnije w tabeli, jeżeli nie to dodajesz ip + punkty, jeżeli tak to nie dodajesz nic dobrze rozumiem (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Jeżeli tak to spróbuj tak
  1. <?php
  2.  
  3. //...łączysz sie z baza
  4.  
  5. //...pobierasz ip
  6.  
  7. $zapytanie = mysql_query("SELECT * FROM numery_ip WHERE nr_ip = '$ip'");
  8.  if(mysql_num_rows($zapytanie) > 0){
  9. echo "Nr. ip istnieje już w bazie";
  10. }else{
  11.  $dodaj = mysql_query("INSERT INTO numery_ip VALUES(0,'$ip','punkty')");
  12.  echo "Głos został oddany dziękuje";
  13.  }
  14. ?>


Ten post edytował dr_bonzo 30.03.2007, 16:51:09
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 22:13