Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][sql]? chcialby zrobic link do wiad. @ dzialajacy jak ankieta, po kliknieciu otw sie www po potwierdzeniu buttonem adres @ zapis sie
gariz
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 7.06.2007

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


chcialbym miec w bazie sql adresy @ osob ktore kliknely na buttona z linka z wiadomosci mailowej odemnie.

ktos dostaje maila - w nim link - uruchamia go - na otwartej stronie pojawi sie pytanie w stylu czy jestes pewien - i jesli przycisnie ze tak to jego adres mailowy (tak mi sie wydaje ze moze to byc czesc linku-tak by ta osoba nei musial sie bawic we wpisywanie go) zostanie dopisany do bazy sql

potrzebuje to do wykluczania osob ktore nei sa chetne do uczestnictwa w zajeciach... jest ich troche ale mniej niz tych co chca wiec tak mi wygodniej

cos mi sie kolacze ze ktoras z komend POST albo GET dawala mozliwosc wlasnie takiego injections ze wpisujac z ? i = mozna bylo znajac NAME albo VALUE opracowac odpowiedni link

wiem ze sporo oczekuje ale moze chociaz jakies wskazowki uda mi sie wydebic (IMG:http://forum.php.pl/style_emoticons/default/party.gif) (IMG:http://forum.php.pl/style_emoticons/default/party.gif)

thx
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
sennin
post
Post #2





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

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


Jeśli chodzi Ci o dopisanie czegoś do url to stosujesz GET i piszesz tak:

http://jakis.adres.com/jakis_plik.php?zmie...ienna3=wartosc3

W php bedziesz mial to w $_GET pod odpowiednimi nazwami zmiennych, np $_GET['zmienna1']
Go to the top of the page
+Quote Post
maziak
post
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 17
Dołączył: 9.07.2007

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


Hm,
Problem jest o tyle trudny, że nie bardzo jest jak "przekazac" skryptowi z jakiego maila nastapilo klikniecie, bo przeciez linkiem po kliknieciu zajmuje sie juz tylko przegldarka.

Proponuje nastepujaco :

Stworzyc w bazie tabele np. "maile" o takiej strukturze :
id | mail | ciag | potwierdzone

Zrob sobie liste tych maili w bazie czy gdzies tam, ot chodzby wpisuj w formie. Nastepnie wysyłaj do powyższych adresów w pętli miala (mail" title="Zobacz w manualu PHP" target="_manual) z linkiem do skryptu z unikatowym ciagiem znakow przekazywanym w GET, dla kazdego maila innym.

Unikatowy ciag można uzyskac od choxxby tak :
  1. <?php
  2. substr(md5(rand()),0,15);
  3. ?>

To generuje 15 losowych znakow.
Czyli link wygladal by tak :
  1. <?php
  2. $link = 'http://twojserwer.pl/skrypt_pot.php?potwierdz='.substr(md5(rand()),0,15);
  3. ?>



Przy czym ten wlasnie ciag znakow dodawaj sobie do bazy razem z mailem.
aby przykadowy wpis w bazie wygladal tak :
1 | kowalski@wc.pl | 576258b4a6dbcfc | 0


I wtedy gdy ktos kliknie w linka wywola się Twój "skrypt_pot.php", w którym $_GET['potwierdz'] będzie zawieralo jego unikatowy ciag znakow.

W tym skrypcie naturalnie zmieniasz kolumne "potwierdzone" na "1" w miejscu gdzie ciag = $_GET['potwierdz'] (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Może troszeczke namieszalem, pozno już, ale sadze ze zalozenie jest dobre ;D


Mozna by naturalnie przekazywac zamiast losowych znakow poprostu maila danego delikwenta - ale wtedy złosliwy_uzytkownik nie mial by najmniejszego problemu w czynieniu zlosliwosci gdy znalby poprostu maila innego uzytkownika.



Ewentualnie istnieje jedna na wiele szansa, że wygenerowany ciąg znakow się powtorzy dla dwoch maili. No coz, w totka tez czasem ktos wygra. Możesz jednak się przed tym zabezpieczyc sprawdzajac czy ten ciag znakow wystepuje już w bazie, jak nie to good, a jak wystepuje to kazac skryptowi generowac nowy.
Go to the top of the page
+Quote Post
gariz
post
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 7.06.2007

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


tylko jest maly problem na ktory lasnie wpadlem.... bo ja wysylam te maile do wszystkich z pola UDW czyli nie widza siebie na wzajem w odbiorcy mimo ze wysylam do kilkudzisieciu osob - jak w takim wypadku dostasowac link?? mozna wpisac jakies polecenie w otlooku zeby sam zmienial link??

hashowanie nie jest konieczne bo linki sa z roznych domen do calkiem roznych ludzi nie znajacych sie nawzajem wiec nie wymysla cudzego maila

Ten post edytował gariz 4.04.2008, 10:06:39
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: 3.10.2025 - 06:00