Salamlar. Mən pulsuz sms göndərmək üçün olan saytdan qrab script qurmuşam. Məlumatları curl ilə göndərirəm. ama bi problem yaranır. Göndərdiyim bütün məlumatlar gedir və hemen sayt tərəfindən düzgün qəbul olunur. Ama ki captcha kodda səhv verir. halbuki həmin məlumatlari form action daki linkin yerine hemen saytin unvanini yazib birbaşa məlumatları göndərəndə qəbul edir. ama curl ilə göndərəndə captcha kod sehvdir yazır. Nədən ola bilər bu?
Ümumiyyətlə curl haqqinda ətraflı məlumatı hardan ala bilərəm? Curl dakı funksialarin hansının nə işə yaradığı barədə. cavablarınıza görə əvvəlcədən təşəkkürlər
Verilmiş cavablar və yazılan şərhlər (24 cavab var)
1
Salam.
Bəs Captcha kod məhz belə şeylərin qarşısını almaq üçündür də 🙂
Hansı saytdan gedir söhbət bilmirəm, amma çox yəqin ki, alınmayacaq, çünki Captcha məhz əməliyyatın insan tərəfindən aparılmasını zəruri etmək üçündür, kod ilə normal captcha səddini heç cür dəf edə bilməzsiniz.
0
cavaba gore twk. ama men ele hemin saytin ozundeki captchani qoyuramda.yani o saytdan img<src="http://saytad.com.captcha.php" kimi qoyuram. bes postla yollayanda birbawa saytin ozune onda iwleyir axi. curl la gonderende iwlemir ancaq.hem onuda qeyd edimki bawqa saytlarda hemen men dediyim saytdan qrab edib iwledirler. bes olar nece edib?
1
Əgər başqası edirsə, bu artıq o saytın problemli olduğunu göstərir. Və yaxud da bəlkə də sadə iframe kodu ilə o saytın həmin hissəsini saytlarına qoyurlar və ya bu tip başqa bir metod edib CSS-lə bir az görüntünü dəyişirlər və nəticədə elə görünür ki sanki real inteqrasiya ediblər. Amma görməmişəm deyə dəqiq deyə bilmərəm, sadəcə gümandır.
Amma captcha-nı siz deyən yolla heç vaxt dəf etmək olmaz. Siz dediyiniz XSS təhlükəsizliyə gəlib çıxır hardasa. Axı Captchanın iş prinsipi başqadır, o hər sessiyaya uyğun kod generasiya edir, siz öz saytınıza forma qoyursuz, onların saytından captcha qoyursuz, form-u göndərdiyinizdə CURL-la çağırılan həmin saytın URL-i yeni captcha generasiya edir və təbii ki, captchalar uyğun gəlmir.
CURL hissəni yəqin ki düz edirsiniz, problem captcha hissədədir.
P.S. Həmin saytın login formunu da CURL-lə çağırıb gələn nəticəni CSS-lə editləyib çapa verib yoxlayın, bəlkə onda bir şey alındı.
0
Elvin bey, sayt websmsonline.com saytdir. bu saytin login formunu nece cagira bilerem curll la? o hisseni tam bawa duwmedim.
daha deqiq awagidaki kimi qurmuwam.
3
İş burasındadır ki, captcha kodlar adətən sessionla bağlanır. Siz CURL vasitəsilə grab etdikdə ümumilikdə səhifənin Session-u Sizin serverinizdə saxlanılır, amma şəkli birbaşa qoyduğunuz üçün şəklə uyğun session Sizin kompyuterinizdə qalır. Bu iki uyğunsuzluq ucbatından daxil edilən captcha ilə grab olunmuş arasında fərq yaranır, ona görə də kodu qəbul etmir.
Gərək ki, göstərdiyiniz koda uyğun sessionu göndərəsiniz.
0
Cavaba gore tewekkur edirm. nece edim bes sessiani o cure gonderim ki captcha kod da qebul edilsin?
2
Evvelce Cookie-leri parce etmesen elbette ki kod düzgün verilmeyecek. Bu qeder sade qrab etmek olsaydı ne vardı ki))
Bele bir şey etmelisen önce.
1. İlk önce index olan direktoriyada bir qovluq yarat. Tutaq ki adı “data” olsun.
Sonra data qovluğunda iki qovluq aç 777 chmod ver.
data/kuki
data/kapca
her iki qovluğa .htaccess at. Bu sətirlərlə :
deny from all
AddDefaultCharset UTF-8
2. index.php -də evvelde bele bir kod elave et
if (!$_SESSION[‘sms’])
$_SESSION[‘sms’] = ‘0_’ . mt_rand(1, 9999);
$img = $_SESSION[‘sms’];
$kuki = realpath(dirname(__FILE__)) . ‘/data/kuki/’ . $img . ‘.txt’;
$kapca = ‘data/kapca/’ . $img . ‘.png’;
3. Ardıyca Kapcani parce edirik
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, “http://www.websmsonline.com/rand0mcaptcha.phtml”);
curl_setopt($curl, CURLOPT_USERAGENT, ‘Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.22 Version/10.50’);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
‘Accept-Charset: windows-1251,utf-8,q=0.7,*;q=0.7’
));
curl_setopt($curl, CURLOPT_REFERER, ‘http://www.websmsonline.com’);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_COOKIEJAR, $kuki);
curl_setopt($curl, CURLOPT_COOKIEFILE, $kuki);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$netice = curl_exec($curl);
file_put_contents($kapca, $netice);
curl_close($curl);
Sonra formda deyişiklik etmelisen. Bele bir şey.
*Input Captcha :
Bitdi söhbet bununla da:)
Diqqet et ki, form üsteki yazdıqlarımdan sonra gelmelidir.
Nese alınmasa kodu tam verersen düzelderem.
1
Form nümunesi düzgün getmedi nese)
Qısası kod verilmeli yerde parce etdiyimiz kodu yerleşdirersen.
” . $kapca . “
0
Kodun düz getməsi üçün qaydalarda yazıldığı kimi etmək lazım: “Cavabınızda kod varsa, [ code ]…sizin kod…[ / code ] formasında daxil edin.”
0
Samxal Meherremov, ilk once eziyyetinize gore teshekkur edirem. kodlari siz deyen ki yazdim hamisini. data/captcha papkasinda png kodlar yaranir. cookie papkasindada txt fayllar. ama nedense yene sms i gonderende captchanin sehv oldugunu yazir. kodlari awagidaki kimi yazdim
2
bu setirden qabaq
curl_setopt($curl, CURLOPT_POSTFIELDS, $send_data);
bunlari da elave et.
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
0
Samxal Meherremov, qardawim ilk once kodlara gore tewekkur edirem. son yazdiginiz 2 kodu da qeyd etdiyiniz kodlarin altina elave etdim. ama nedense yene smsi gonderende captcha codun sehv oldugunu yazir.
1
1
Öz üsulumla yeniden yazdım. Olduğu kimi yerleşdir index.php-de. Vesselam. İşlemelidir.
Salam men Samxal Meherremov-un yazdigi axirinci kodu indexe atdim data papka ve s. yaratdim amma birce o qalibki indexe daxil olanda wekildeki kod gostermir. niye ele olur?
1
CURL dəstəkləyir Hostinq?
Beli destekleyir. cunki ondan evvel de pulsuz sms varim idi wekil kod istemeyen amma o da curl-la idi. bu yazdigin tam iwlekdir? yeri gelmiwken bunun iwlemesi ucun } elave etmek lazzimdi yoxsa owibka verecek
1
Kodda düzeliş etdim. Heqiqeten xırda sehvlik var idi. Amma kapçanın sehv göstermesi sessiyaları qoşmamısız yəqin ona görə. Özüm düzəltdim. Lazım olsa özünüz headerlerinizi qoşarsız.
Cox sag ol. Bes sessiya nedirki? gulmeli gorune biler amma bilmirem nedir 🙁
Her defe yenileyende captcha papkasina kod elave olunur amma index-de kod wekil kimi gostermir 🙁
4
Dostlar burada bilənlər bilməyənlərə yardımçı olmağa çalışır bu yaxşıdır, amma lütfən heç olmasa sual verdiyiniz sahədə təməl bilikləri mənimsəyib sonra sual verin. Sessiya nədir sualına cavabı bilməmək eyib deyil, amma bunu bilmədən siz yuxarıdakı kodlarla heç bir şey edə bilməzsiniz.
Əvvəllər də belə hallar çox olub, hər hansı proq-a dilinə aid sual verilib, ilk cavabdan sonra növbəti sualda üzə çıxıb ki sual verən həmin dildə ümumiyyətlə nəsə bilmir, baza biliyi yoxdur. Amma bu belə olmamalıdır, hər şeyi birdən əldə etmək mümkün deyil, ilk öncə öyrənmə periodu gəlir, sonra meydana çıxan suallar. Məsələn php dərslikdən sessiya haqda oxuyub başa düşməsəniz, sualı bu saytda yerləşdirsəz, məmnuniyyətlə sizə kömək olunar.
Umumiyyetle sesiya 2 Cumle ile oxuyub basa dusulesi movzu da deyiln)) mutleq alqoritma anlayisi ve php biliyi teleb edir.. kod editlemek yazmaqdan cetindir ( en azindan menim uchun :)) ) ..
neyse qisasi oyrenmek lazimdir.. Shamxal sagolsun kodunyazib verir ama xarici foruumlarda ve ya sual cavablarda hazir kod isteyeni umumiyyele ignor edirler… chunki bu tip seylerden qazanc elde edilir en azindan.. ona gore de eziiyetsiz hazir elde etmeye pis baxilir..
ona gore de Elvine bu movzuda haqq verirem..
Sag olun komek ucun men kodlari bilirem amma ne kurs getmiwem ne de birwey. ona gore de ele weyler varki belkede bilirem azdan coxdan amma adini bilmirem ne olan weylerdir. meselen mene deyirdiler wert qurmalisan maraqli qalirdimki goresen werti nece qurum halbuki if else bunlari bilirem. Azdan coxdan master forumlardan oyrenmiwem 🙁
Bunu hazir zip wekilde ata bilersiz bura?
Sual verin
Cavab verin