htaccess ile tüm requestleri tek dosyaya yönlendirin örneğin index.php
daha sonra burada session'a random isim kaydedin, örneğin
$_SESSION["formAction"]=rand(100000,99999999);
daha sonra form kısmında bunu echo ile yansıtın;
<form method="POST" action="<?php echo $_SESSION["formAction"]; ?>.php">
..... geri kalan kodlar
daha sonra form post kontrol kısmında şöyle kontrolünüzü yapın;
if($_SERVER["REQUEST_URI"]===$_SESSION["formAction"].".php"){
if(isset($_POST["submit"])){
// kodlarınızın devamı
}
}
mantık böyle gerisi size kalmış. Yalnız eğer güvenlik için yapıyorsanız güvenliğe pek faydası olacağını sanmam. Güvenlik için csrf token vs daha iyi olur. Hatta belki bir captcha en iyisi olabilir. Yine farklı hashing algoritmaları geliştirmek de bir çözüm olabilir. Örneğin secret key ile request time'ı request uri yi ayrı ayrı birleştirip hash haline getirmek olabilir.
PHP Form İle Random Url Oluşturma
15
●671
- 20-07-2019, 23:57:05edit: aşağıdaki şekilde aynı anda 2 kişi sayfaya girdiğinde sorun olacağından bu mesajı pek dikkate almayınız

son dosya adını eğer veritabanına vs kaydederseniz. rename komutu ile eski dosya adını her seferinde değiştirerek yapabilirsiniz. denemedim ama çalışacağını düşünüyorum
örneğin
$eskidosya="veritabanından çekilen dosya adı";
$random = rand(0,99999);
rename("$eskidosya", "yenidosya-$random.php");
<form action='<?php echo "yenidosya-$random";?>.php'
bu form action ile gönderdiğiniz dosyada işlemler tamamlandıktan sonra en sonunda tekrar dosya adını değiştirip veritabanına o şekilde kaydederseniz
hiç bir şekilde yeni dosya adına erişilemez. - 21-07-2019, 00:11:24Üyeliği durdurulduhocam en mantıklı olan get methodu ile almanızdır yoksa htaccess ile yapabilirsiniz .
bence get methodu ile almanız daha mantıklı ve stabil olacaktır ya da @CanOffline; hocamın dediği gibi yapabilirsiniz her random link için random dosya oluşturabilirsiniz . - 21-07-2019, 00:14:27aslında arkadaşın ne yapmaya çalıştığını anlasaydık daha mantıklı şeyler üretecektik tecrepix adlı üyeden alıntı: mesajı görüntüle
- 21-07-2019, 18:01:32Bir kullanıcının işlemi bitmeden bir başka kullanıcı sayfayı açarsa dosya ismi yine değişir ve bir önceki kullanıcı formu submit ettiğinde 404'e düşer. Konu sahibi bot vb şeylerden korunmak amacıyla böyle bir şey istiyor olabilir. Şu makale işinizi çözebilir. https://thisinterestsme.com/php-csrf-protection/
U_uR adlı üyeden alıntı: mesajı görüntüle - 21-07-2019, 19:05:19evet doğru söylüyosunuz bunu düşünmedim benbayGaReZ adlı üyeden alıntı: mesajı görüntüle
