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
fredzio90
post
Post #2





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

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


TAK (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

to co podales to musi byc w tym stylu.. tutaj sie nei lkacze z baza.. chodiz mi o ten fragment kodu:
  1. <?php
  2. $check = mysql_query("SELECT * FROM $pp_conf_tbl");
  3. while($ccc = mysql_fetch_array($check)) {
  4. $ip = $ccc['ip'];
  5. }
  6.  
  7. if($ip=='$REMOTE_ADDR') {
  8. header("Location: $PHP_SELF");
  9. } else {
  10. $sqlUp = mysql_query("UPDATE $pp_tbl SET points=points+1 WHERE ident='$ppnick'");
  11. $sqlZab = mysql_query("INSERT INTO $pp_conf_tbl SET ip='$REMOTE_ADDR', data=now()");
  12. header("Location: $PHP_SELF");
  13. }
  14. }
  15. ?>


wszystko dodaje, ip usera do bazy pp_conf... ale dodaje rowniez za kazdym razem punkty.. ja chce zeby z 1 IP mozna bylo 1 glos walnac....

i chodzi mi tutaj czy pętelke while() jest dobrze w kodzie powyżej.. i niewiem ale nie działa opcja ta:
  1. <?php
  2. if($ip=='$REMOTE_ADDR') {
  3. ?>



pomoze ktos (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował fredzio90 28.03.2007, 21:58: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: 3.10.2025 - 09:17