نوشته شده توسط
saeedba
ممنون از پاسختون
اما از اونجایی که هاستم رایگانه هیچ جوره نتونستم ssl براش فعال کنم (با استفاده از sslforfree.com)
خب من دو راه بیشتر ندارم
1- استفاده از همین روش مبتدی برای ارتباط با دیتابیس
2- این روش که فرمودید self signed ssl
که خب تو روش اول من برای تست متن This is a TEST for curl رو قرار دادم ، اما نمی تونم دریافتش کنم.
و تو روش دوم فک کنم باید دسترسی خاصی داشته باشم که برای هاست رایگان مقدور نیست
به نظر شما چکار کنم؟؟؟
خواهش می کنم. بسته به باری که روی ربات شماست توصیه می کنم از سرور اختصاصی(از ماهانه ۸۰۰ هزار تومن)، سرور مجازی (از ماهانه ۲۰۰ تومن) و یا هاست اشتراکی (از سالانه ۲۰۰ تومن) استفاده کنید و قید هاست های رایگان را بزنید. در هاست رایگان و اشتراکی میزان منابع سیستم بسیار محدود (بخصوص تعداد درخواست های ارسالی و دریافتی) است و ممکن است پاسخگوی نیازهای شما نباشد.
اما در مورد مشکل سرور کنونی توجه داشته باشید که جهت جلوگیری از حملات DDOS روی سرور ماژول testcookie-nginx-module نصب شده است.(https://kyprizel.github.io/testcookie-nginx-module/) که با استفاده از جاوااسکریپت ابتدا یک کوکی با نام __test ایجاد می کند سپس کاربر را به صفحه مورد نظر ارجاع میدهد. می توانید با استفاده از developer tools مقدار کوکی مربوطه را یافته و در دستور زیر درج کنید. احتمال زیاد این کد وابسته به آیپی درخواست دهنده است بنابراین باید کوکی مخصوص سرور درخواست کننده را بدست آورید.
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie: __test=666666677eb8b8cd7deb42666665ca; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"));
جهت بدست آوردن کوکی مناسب سرور درخواست دهنده ابتدا کدهای خود را روی سرور اجرا کنید سپس ریسپانس را دریافت کرده و از درون آن مقادیر متغیرهای a , b , c را در کد زیر جایگزین کنید سپس کد زیر را در یک فایل html روی پی سی خود اجرا کنید مقداری که روی صفحه نمایش نشان میدهد همان کوکی مورد نظر است که با استفاده از curl باید ارسال شود لذا آن را جایگزین مقدار کوکی در قطعه کد بالا کنید.
<html>
<body>
<script type="text/javascript" src="http://mlsrums.ir/aes.js"></script>
<script>
function toNumbers(d) {
var e = [];
d.replace(/(..)/g, function(d) {
e.push(parseInt(d, 16))
});
return e
}
function toHex() {
for (var d = [], d = 1 == arguments.length && arguments[0].constructor == Array ? arguments[0] : arguments, e = "", f = 0; f < d.length; f++) e += (16 > d[f] ? "0" : "") + d[f].toString(16);
return e.toLowerCase()
}
var a = toNumbers("f655ba9d09a112d4968c63579db590b4"),
b = toNumbers("98344c2eee86c3994890592585b49f80"),
c = toNumbers("7777777a79d4855dba3e7777777");
document.write("Cookie: __test=" + toHex(slowAES.decrypt(c, 2, a, b)) + "; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");
</script>
</body>
</html>
البته می توانید تمامی این موارد را بصورت خودکار نیز انجام دهید تنها کافیست از رمزنگاری AES نسخه php استفاده کنید و تمامی مراحل بالا که به جاوااسکریپت نوشته شده است را با استفاده از php انجام دهید.