Merhaba,
Kendi izlemiş olduğum yolu anlatmak isterim. Gayet basit bir yol bana göre.
Öncelikle veri tabanında bir alan oluşturuyorsun. Örnek olarak;
user_authorization
id | data
-- | --
1 | sayfa_adi1, sayfa_adi2
Tarzında bir tablo oluşturduğumuzu farz edelim. Tabii bu kadar ile kalmayacak. User tablonun içerisinde de user_authorization_id diye bir alan koyup user_authorization tablosu ile ilişkilendirmelisin.
Sonrasında bir fonksiyon yazarak bunu bütün sayfalara koymalısın.
_Not: sayfa_adi1, sayfaadi2 alanları site.com/getPar kalın olarak işaretlenen alanı belirtmektedir.
<?php
function authorization($user_id, $url){
global $db;
$query -> $db->query("SELECT * FROM user INNER JOIN user_authorization ON user_authorization.id = user.user_authorization_id WHERE user.user_id = ?");
$query->execute([$user_id]);
$query = $query->fetch(PDO::FETCH_ASSOC);
$data = explode(", ", $query['data']);
if( in_array($url, $data) ){
return true;
}else {
die("Yetkisiz Erişim!");
}
}
Oluşturulan bu fonksiyonu tüm sayfalarında çağırdığın header.php veya senin sisteminde ne ise onun en başına(tabi öncesinde vt bağlantısı ve fonksiyonları çağırıp) koyup authorization($_SESSION['user_id'], $_GET['par']);
şeklinde çalıştıtırsan istediğine ulaşabileceğine inanıyorum.
Not: Kodları biraz da olsa baştan savma yazdım. Lütfen kullanmadan önce güvenlik kontrolünden geçir.
Merhabalar.
Öncelikle SMS gönderimi için kendi firmam var dilersen uygun fiyata yardımcı olabilirim.
Sorunun cevabına gelecek olursak,
Mantık olarak çok basit aslında.
- Telefon numarasının girileceği alan oluşturulur
- Post ile gelen veri kontrol edilip benzersiz bir kod oluşturulur. Bu kod SMS ile gidecek olan koddur.
- SMS Gönderim işlemi yapılır ve kod şifrelenerek session'a atanır.
- Kullanıcı ekranında SMS şifresi girecek bir alan oluşturulur.
- Girilen şifre arkaplanda şifrelenmiş session ile aynı şifreleme yapılarak kontrol edilir.
- Eğer kontrol sonrasında herhangi bir sorun yok ise istediğin işlemleri yaptırırsın, sorun var ise hata mesajı vs ne yapmak istiyorsan hayal gücüne kalmış.
Umarım yardımcı olabilmişimdir.
SMS için [email protected] adresinden iletişime geçebilirsin.
Keşke düzenleme kısmı olsa da ekstra yorum yapmamış olsam...
Hocam bu kütüphane ile indirme limiti de koyabiliyorsun. Yani eğer sisteminde farklı üye grupları var ise indirme limiti koyarak grupları daha cazip hale getirebilirsin. Hatta limitsiz indirme için ise ücretli bir üye grubu yapabilirsin :) Bu da benim nacizane tavsiyem olsun.
İndirme limitinden kastım saniyede indirilen veri miktarı :)
Selamlar.
https://github.com/ahmad-sa3d/php-advanced-downloader
Bu kütüphane işini görecektir diye tahmin ediyorum. Şimdiden kolay gelsin