• 24-12-2024, 01:39:06
    #1
    merhaba arkadaşlar.
    bir oylama sistemi yapıyorum. Genelde ziyaretçiler belediye ve üniversite gibi yerlerden sisteme girip oy veriyorlar.
    herhangi bir üyelik ya da login işlemi yok.

    Gelen ziyaretçi 1 kez oy kullanabilsin istiyorum.

    Session ile ip ile yapsam işlemi üniversitelerde tek ip'den çıkabilir ya da belediyelerde.
    Cookie ile yapsam gizli sekmede girip birden fazla kez oy kullanabilir.

    Benim yapmak istediğim şey her bilgisayardan 1 kez oy kullanabilsin. Php'de mac addressini almamın bildiğim kadarıyla bir yolu yok.

    Burada bana bir mantık önerir misiniz daha önce bu tarz durum yaşadınız mı?
  • 24-12-2024, 01:45:33
    #2
    Hocam illaki sizde bakmışsınızdır, yapay zeka önerisi bu şekilde

    İşte öneriler:
    1. IP ve User-Agent Kombinasyonu
    Kullanıcının IP adresini ve User-Agent bilgisini birlikte saklayabilirsiniz.

    Aynı IP'den farklı cihazlar olsa bile farklı User-Agent'lar (tarayıcı bilgisi) gelecektir.

    Ancak yine de bu yöntem üniversiteler gibi aynı IP'den çıkan çoklu kullanıcılar için yeterince sağlam olmayabilir.


    2. Cookie Tabanlı Doğrulama

    Kullanıcının tarayıcısına bir cookie yerleştirin ve oy verildiği bilgisini bu cookie'de saklayın.

    Kullanıcı gizli sekmede veya cookie'leri temizleyerek tekrar oy verebilir, ancak bu yöntemi diğer yöntemlerle birleştirerek kötüye kullanımı azaltabilirsiniz.


    3. JavaScript ile LocalStorage Kullanımı

    LocalStorage'a bir bayrak kaydedebilirsiniz. Bu, cookie'den daha kalıcıdır, ancak kullanıcı tarayıcı ayarlarını sıfırlayarak bunu da temizleyebilir.


    4. Doğrulama için E-posta veya SMS Kullanımı

    Üyelik sistemi olmadan, ziyaretçinin bir e-posta adresi veya telefon numarası doğrulaması yapmasını sağlayabilirsiniz.

    Bir doğrulama kodu gönderip, doğrulanan kullanıcıların oy vermesine izin verebilirsiniz.


    5. MAC Adresi veya Donanım Kimliği

    Doğrudan PHP ile MAC adresi almak mümkün değildir, çünkü bu bilgi tarayıcı seviyesinde iletilmez. Ancak, bir masaüstü uygulaması ya da tarayıcı eklentisi kullanıyorsanız, donanım kimliği gibi cihaz bilgilerini alabilirsiniz. Bu yöntem genelde kullanıcıdan onay gerektirir ve pratik değildir.


    6. Fingerprinting (Tarayıcı Parmakizi)

    Device Fingerprinting adı verilen bir yöntemle kullanıcının tarayıcısına ve cihazına özgü bir parmak izi oluşturabilirsiniz.

    Parmak izi oluşturmak için şunları birleştirebilirsiniz:

    IP adresi

    User-Agent bilgisi

    Tarayıcı özellikleri (örneğin ekran çözünürlüğü, zaman dilimi, yüklü eklentiler)

    WebGL ve Canvas gibi tarayıcı API'lerinden gelen bilgiler.


    Bu yöntem %100 güvenli değildir, ancak kötüye kullanımı zorlaştırır.


    7. ReCAPTCHA veya Basit Bir Doğrulama

    Oy verme sürecinde reCAPTCHA gibi bir doğrulama kullanabilirsiniz. Bu, otomasyonla yapılan çoklu oylamaları engelleyecektir.


    8. Maksimum Sınırları Belirleme

    Özellikle tek bir IP adresinden gelen çoklu oylamaları sınırlamak için bir günlük, saatlik veya toplam oy sınırı koyabilirsiniz.



    ---

    Önerilen Kombinasyon

    1. Kullanıcının IP ve User-Agent bilgilerini saklayın.


    2. Tarayıcıda hem cookie hem de localStorage'da bir bayrak bırakın.


    3. Oy verme işleminden önce bir reCAPTCHA doğrulaması ekleyin.


    4. Gelişmiş bir çözüm istiyorsanız tarayıcı parmakizi oluşturmayı düşünün. Bunun için açık kaynaklı kütüphanelerden faydalanabilirsiniz (örneğin, FingerprintJS).



    Bu yöntemlerin hepsi %100 çözüm sunmasa da bir araya geldiğinde kötüye kullanımı ciddi ölçüde azaltacaktır.
  • 24-12-2024, 01:50:34
    #3
    Device Fingerprint olayını araştırın derim en sağlıklı o çözüm gözüküyor. IP kontrol veya cookie atlanabilir ama bu yöntem cihazın ve tarayıcının tüm özelliklerini kaydederek benzersiz bir id oluşturuyor.
  • 24-12-2024, 01:57:39
    #4
    VektorMedya adlı üyeden alıntı: mesajı görüntüle
    Hocam illaki sizde bakmışsınızdır, yapay zeka önerisi bu şekilde

    İşte öneriler:
    1. IP ve User-Agent Kombinasyonu
    Kullanıcının IP adresini ve User-Agent bilgisini birlikte saklayabilirsiniz.

    Aynı IP'den farklı cihazlar olsa bile farklı User-Agent'lar (tarayıcı bilgisi) gelecektir.

    Ancak yine de bu yöntem üniversiteler gibi aynı IP'den çıkan çoklu kullanıcılar için yeterince sağlam olmayabilir.


    2. Cookie Tabanlı Doğrulama

    Kullanıcının tarayıcısına bir cookie yerleştirin ve oy verildiği bilgisini bu cookie'de saklayın.

    Kullanıcı gizli sekmede veya cookie'leri temizleyerek tekrar oy verebilir, ancak bu yöntemi diğer yöntemlerle birleştirerek kötüye kullanımı azaltabilirsiniz.


    3. JavaScript ile LocalStorage Kullanımı

    LocalStorage'a bir bayrak kaydedebilirsiniz. Bu, cookie'den daha kalıcıdır, ancak kullanıcı tarayıcı ayarlarını sıfırlayarak bunu da temizleyebilir.


    4. Doğrulama için E-posta veya SMS Kullanımı

    Üyelik sistemi olmadan, ziyaretçinin bir e-posta adresi veya telefon numarası doğrulaması yapmasını sağlayabilirsiniz.

    Bir doğrulama kodu gönderip, doğrulanan kullanıcıların oy vermesine izin verebilirsiniz.


    5. MAC Adresi veya Donanım Kimliği

    Doğrudan PHP ile MAC adresi almak mümkün değildir, çünkü bu bilgi tarayıcı seviyesinde iletilmez. Ancak, bir masaüstü uygulaması ya da tarayıcı eklentisi kullanıyorsanız, donanım kimliği gibi cihaz bilgilerini alabilirsiniz. Bu yöntem genelde kullanıcıdan onay gerektirir ve pratik değildir.


    6. Fingerprinting (Tarayıcı Parmakizi)

    Device Fingerprinting adı verilen bir yöntemle kullanıcının tarayıcısına ve cihazına özgü bir parmak izi oluşturabilirsiniz.

    Parmak izi oluşturmak için şunları birleştirebilirsiniz:

    IP adresi

    User-Agent bilgisi

    Tarayıcı özellikleri (örneğin ekran çözünürlüğü, zaman dilimi, yüklü eklentiler)

    WebGL ve Canvas gibi tarayıcı API'lerinden gelen bilgiler.


    Bu yöntem %100 güvenli değildir, ancak kötüye kullanımı zorlaştırır.


    7. ReCAPTCHA veya Basit Bir Doğrulama

    Oy verme sürecinde reCAPTCHA gibi bir doğrulama kullanabilirsiniz. Bu, otomasyonla yapılan çoklu oylamaları engelleyecektir.


    8. Maksimum Sınırları Belirleme

    Özellikle tek bir IP adresinden gelen çoklu oylamaları sınırlamak için bir günlük, saatlik veya toplam oy sınırı koyabilirsiniz.



    ---

    Önerilen Kombinasyon

    1. Kullanıcının IP ve User-Agent bilgilerini saklayın.


    2. Tarayıcıda hem cookie hem de localStorage'da bir bayrak bırakın.


    3. Oy verme işleminden önce bir reCAPTCHA doğrulaması ekleyin.


    4. Gelişmiş bir çözüm istiyorsanız tarayıcı parmakizi oluşturmayı düşünün. Bunun için açık kaynaklı kütüphanelerden faydalanabilirsiniz (örneğin, FingerprintJS).

    yapay zekaya sormak ne bileyim inan aklıma gelmedi Teşekkür ederim hocam.

    Bu yöntemlerin hepsi %100 çözüm sunmasa da bir araya geldiğinde kötüye kullanımı ciddi ölçüde azaltacaktır.
    chemochan adlı üyeden alıntı: mesajı görüntüle
    Device Fingerprint olayını araştırın derim en sağlıklı o çözüm gözüküyor. IP kontrol veya cookie atlanabilir ama bu yöntem cihazın ve tarayıcının tüm özelliklerini kaydederek benzersiz bir id oluşturuyor.
    en mantıklı yol buna çıkıyor. deneyeceğim. önerileriniz için çok teşekkür ederim.
  • 24-12-2024, 12:13:50
    #5
    Hocam tüm cihaz bilgilerinin özelleştirilebildiği tarayıcılar var. Yani bu yöntemler çok kolay bir şekilde bypass edilebilir. Giriş yapılabilen örneğin telefon numarasıyla kayıt olunabilen farklı bir yol denemeyi tercih edin derim.
  • 24-12-2024, 12:20:57
    #6
    En sağlıklısı mail veya telefon ile oy verme.