Merhaba tekrardan ilginiz için çok teşekkür ederim. Bu işimi bir tık çözebilirdi ancak ads kısmında da aynı şekilde kredi eklettiğim için muhtemelen yine kırılacaktı. En azından kullanıcının günlük ads ile kredi kazanma miktarı sınırlı ancak bu da yayılırsa işime gelmezdi. Şöyle bir yoldan gittim %100 çözüm olur mu bilmiyorum. csrf token burda baya işime yaradı en azından algoritması.
Sorunum bu arada daha açık bir şekilde şöyleydi:
Uygulama üzerinden post ederek krediyi kullanıcıya veriyordum. Charles ile buradaki kredi ekleme phpsini tekrar tekrar kullanıp kendilerine kredi ekliyordı.
Çözümüm:
1) Başka bir php üzerinde token oluşturup bunu kayıt ettiriyorum.
2) Oluşturduğum token yine php üzerinden olduğu için muhtemelen charles ile gözükecekti. Bu yüzden 100 karakter arasına oluşturduğum tokeni dağattım ve bunu yaparken uygulama içinde çözmesi için dağıtma yolunu kayıt ettim. Daha basit örneklendirecek olursam elimizde cfa5 diye bir key olsun. 10 karakterli yeni bir key oluşturmuş olalım fc5fad24cd olsun. Bu yeni oluşturdum token içine gizlemek için rastgele numaralar oluşturdum 1-10 arası aynı olmayan. Mesela 4-6-7-10 olsun her bir harf için bir numara. Bunları da 10 lu token içindeki karakterler ile değiştirdim. Yeni uzun token bu oldu fc5cafa4c5
3) Asıl tokeni kayıt ettirdiğim yer ile kontrol ettiriyorum eğer doğru ise kayıtlı token siliniyor. Kayıtlı yer de boş olduğu için tokenlerin uniq olmasına gerek kalmıyor. Veya tokenleri bir yere kayıt ettirip sürekli oradan bu token kullanılmış mı diye kontrol ettirmeme de gerek kalmıyor.

Bilmiyorum ne kadar anlatabildim ancak csrf token çok işime yaradı tekrardan teşekkürler. Ben anlatırken ve yaparken yoruldum. Umarım kırılması o kadar kolay değildir.
Ve son olarak bir soru daha sormak istiyorum. Charles bu şekilde $_SESSION içindeki olan değişkenleri de yakalayabiliyor mu?