PHP-də Sorğu (Anket) Problemi

Salam. PHP-də bu yaxınlara bir problemlə üzləşdim. PHP-də sorğu sistemi hazırlayıram. Ancaq bir problem var hər kəs yalnız bir dəfə sorğuya səs verməlidir. Bax bu məsələni həll edə bilmirəm. Əslində variantlarım var amma düzgün deyil. 1. Cookie ilə etmək olar ancaq, həmin istifadəçi digər brauzer ilə həmin sorğuya yenə səs verə bilir. 2. Session bu da elə cookie kimidi. 3. Komputer adını almaqla, yəni hər komputerdən hər sorğu üçün bir səsə verə bilsin. Ancaq təssüf ki Serverdən istifadəçinin komputer adını almaq olmur. 4. MAC ünvan ilə. Burdada yenə Server imkan vermir. İndi mən səs verən şəxsin hansı məlumatını saxlamalıyam və ya almalıyam ki gələn dəfə həmin istifadəçini tanıyım?

Verilmiş cavablar və yazılan şərhlər (8 cavab var)

E. Hacı (2012-10-01 09:58:14)
3 və 4 veb proqramlaşdırma üçün deyil. 1 və 2 + İP nisbətən yaxşıdır. Amma bunlar da dəf ediləsi əngəllərdir. Hər kəsə açıq səsvermədə ideal həll mövcud deyil. Məhdudlaşdırmalar olanda isə xeyli yaxşı həllər var. Məsələn account ilə etmək. Hər qeydiyyatlı account bir dəfə səs verməlidir. Qeydiyyat prosesi asan və 1 dəqiqəyə olmasa, email təsdiqlənmə tələb edərsə, nəticə də obyektivə yaxın olar. Bu halda kimsə dalbadal fake accountlar açmağa hövsələli olsa belə(bu çox nadir halda nadir tiplər tərəfindən olur :) ) bunu sonra nəticələrə maillərə baxıb asanlıqla üzə çıxarmaq olar. Ki dalbadal gələn N sayda səs eyni adamdandır(Cookie, İP, saytdakı activity log-ları - bunlar hamısı bir yerdə bunu asanlıqla təyin edə bilər)

Cabbarov Sübhan (2012-09-30 16:58:17)
Onszuda Azərbaycan nə düz işləyir ki, bir dənə düzgün işləməyən sistem mən yaradım. Cavablarınıza görə çox sağ olun.

VendeTTA (2012-09-30 16:55:44)
Təbii ki. Amma belə istifadəçi çox az olacaq. İnternet istifadəçilərinin 90%-i cookie tam olaraq nə olduğunu bilmir, bir o qədəri də ip-nin modemi söndürdükdə dəyişdiyini bilmir :) Bundan başqa optimal üsul yoxdur hələki.

Cabbarov Sübhan (2012-09-30 16:51:07)
Bu sistemdə yenə də səhvlik olur. Məsələn İstifaədçi Mozilla Firefox ilə səs versə və daha sonra modemi söndürüb yandırıb Opera ilə həmin sorğuya 100% səs verə biləcək. Amma yenə də içində uyğunu bu görünür.

VendeTTA (2012-09-30 16:47:51)
Müqayisə edəndə ən etibarlı üsul İP yoxlamaqladır. Bazaya yazılır hər səs verənin İP-si. Hər dəfə səs veriləndə yoxlama gedir. Lakin bu serverə yüklənmə verə bilər. Onun üçün də 2 mərhələdən keçirmək daha yaxşı olar. COOKIE+IP 1. COOKIE yoxlanılır. Yalnız COOKIE mərhələsini keçərsə IP yoxlamasına müraciət edirik bazaya. Yəni hər dəfə birbaşa bazaya sorğu getməsini azaltmış oluruq. Yenə də 100% müdafiə yoxdur. Amma ən azı tək Cookie yoxlamasından güvənlidir.

Cabbarov Sübhan (2012-09-30 16:36:55)
Saytda qeydiyat sistem yoxdu, sadəcə qonaqların hamsı səs verə bilir. Yoldaşların yazdıqlarına baxdım ancaq onlar da təsüff ki ip və cookie məsləhət görürlər. İP ayadın məsələdiki sabit qalmır, cookie isə hər brauzerdə başa olur. Mən axtardım belə bir şey tapdım "Flash Cookie" adobe flash vasitəsi ilə etmək olar. Bu güya istifadəçinin komputerinə cookie yerləşdiri və o cookieni istənilən brazuerdən oxumaq olur. Qeyd də ediblər ki məsləhətli deyil.

Emin Rəhmanov (2012-09-30 16:29:43)
Birde men bir qeder evvel bu suala uygun olmasada bele bir sual vermiwdim burda. Demek olar ki eyni iw prinsipidi menim verdiyim sualin neticesi ile sizin verdiyiniz sualin neticesi Burdanbaxib bir goz gezdirin. belke iwinize yarayan nese oldu.

Emin Rəhmanov (2012-09-30 16:20:35)
Salam. Ses veren istifadeciler saytda qeydiyyatdan kecib ses verirler? yoxsa ele qonaq kimi de sayta daxil olub ses vere bilirler?

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

Тернарный оператор

Ajax haqqında

Notice: Array to string conversion convert array to string

Saytda axtarış zamanı Azərbaycan dili ilə bağlı problem yaranır

php dərslik

PDO təhlükəsizliyinə tam güvənmək olarmı ?