<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های timtec</title>
        <link>https://virgool.io/feed/@timtec-co</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-07-08 03:29:15</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/46637/avatar/XmhgsQ.png?height=120&amp;width=120</url>
            <title>timtec</title>
            <link>https://virgool.io/@timtec-co</link>
        </image>

                    <item>
                <title>ساخت وب سرویس با php , Json</title>
                <link>https://virgool.io/@timtec-co/%D8%B3%D8%A7%D8%AE%D8%AA-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D8%A8%D8%A7-php-json-ta80uwpehald</link>
                <description> توی این مطلب قصد دارم یک وب سرویس ساده با PHP بسازیمفرض کنید میخایم یک فرم لاگین بسازیم که کاربر اطلاعاتی مثل نام کاربری و کلمه عبورش رو وارد میکنه و دکمه ورود رو میزنهاما اینبار ما باید اطلاعات رو به یک وب سرویس بدیم و درستی لاگین رو از یک وب سرویس دیگه بخوایمخوب شروع میکنیم به ساخت فرم کلاینت و کد نویسی PHP &lt;form method=&quot;post&quot; action=&quot;client.php&quot;&gt;&lt;input type=&quot;text&quot; name=&quot;username&quot; placeholder=&quot;username&quot;&gt;&lt;input type=&quot;password&quot; name=&quot;password&quot; placeholder=&quot;password&quot;&gt;&lt;input type=&quot;submit&quot; name=&quot;btn&quot; value=&quot;login&quot;&gt;&lt;/form&gt;فرم رو بصورت بالا طراحی میکنیم و بعد از زدن دکمه لاگین کد PHP سمت کلاینت اجرا میشه و اطلاعات رو بسمت سرور ارسال میکنه.کد PHP کلاینت: if(isset($_POST[&#x27;btn&#x27;])) {$username = $_POST[&#x27;username&#x27;];$password = $_POST[&#x27;password&#x27;];$array = array(&#x27;username&#x27;=&gt;$username,&#x27;password&#x27;=&gt;$password);$api = &quot;http://YOURWEBSERVICE/server.php&quot;;$res = callAPI(&#x27;POST&#x27;,$api,json_encode($array));$response = json_decode($res, true);if($response[&#x27;error&#x27;] == 1) {echo &quot;login error&quot;;} else {echo &quot;Your Name is : &quot;.$response[&#x27;name&#x27;];}}function callAPI($method, $url, $data){$curl = curl_init();curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HTTPHEADER, array(&#x27;Content-Type: application/json&#x27;,));curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);$result = curl_exec&#40;$curl&#41;;if(!$result){die(&quot;Connection Failure&quot;);}curl_close($curl);return $result;}همه چیز مشخصه فقط باید بدونید که توی $api آدرس وب سرویس رو وارد میکنید.ساخت وب سرویس  LOGIN با PHPخوب باید قبل از هر چیزی مشخص کنید و اجازه بدین که چه نوع درخواست هایی به سمت وب سرویس شما ارسال و دریافت بشه header(&quot;Access-Control-Allow-Origin: *&quot;);header(&quot;Access-Control-Allow-Headers: access&quot;);header(&quot;Access-Control-Allow-Methods: GET&quot;);header(&quot;Access-Control-Allow-Credentials: true&quot;);header(&#x27;Content-Type: application/json&#x27;);و حالا باید اطلاعات رو دریافت کنیم از json و اون رو decode کنیم ، بصورت زیر$input = json_decode(file_get_contents&#40;&#x27;php://input&#x27;&#41;,true);حالا تمام اطلاعات توی متغیر $input هست و میشه بصورت یک آرایه باهاش برخورد کرد.$username = $input[&#x27;username&#x27;];$password = $input[&#x27;password&#x27;];حالا میتونیم با یک query از دیتابیس (که من اینجا از MySql استفاده میکنم) صحت لاگین را بررسی کنیم و پاسخ بدیم به درخواست وبسرویس. include_once &#x27;config.php&#x27;;if(!$DB = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname)) {echo &quot;DBerror&quot;;}mysqli_query($DB,&quot;SET CHARACTER SET utf8;&quot;);mysqli_query($DB,&quot;SET SESSION collation_connection = &#x27;utf8_persian_ci&#x27;&quot;);$sql = mysqli_query($DB,&quot;SELECT &#x60;name&#x60;,&#x60;password&#x60; FROM &#x60;users&#x60; WHERE &#x60;username&#x60;=&#x27;$username&#x27; LIMIT 1&quot;);if(mysqli_num_rows($sql) == 1) {$row = mysqli_fetch_assoc($sql);if($row[&#x27;password&#x27;] == $password) {$return = array(&#x27;error&#x27;=&gt;0,&#x27;name&#x27;=&gt;$row[&#x27;name&#x27;]);} else {$return = array(&#x27;error&#x27;=&gt;1);}} else {$return = array(&#x27;error&#x27;=&gt;1);}echo json_encode($return);و در نهایت پاسخ رو به کاربر برمیگردونیم . اگر پاسخ دارای مقدار error = 1 بود یعنی لاگین صورت نگرفتهو اگر صحیح بود نام کاربر رو دریافت میکنه.یه نکته امنیتی :‌بهتره اینجور وب سرویس رو با یک API KEY همراه کنید . که درخواست های حاوی API KEY اشتباه هستند اصلا پردازش نشن@timtec_co     تیم تِک</description>
                <category>timtec</category>
                <author>timtec</author>
                <pubDate>Wed, 22 May 2019 17:03:09 +0430</pubDate>
            </item>
                    <item>
                <title>جان مک‌ آفی هویت خالق بیت‌ کوین را افشا می‌کند</title>
                <link>https://virgool.io/@timtec-co/%D8%AC%D8%A7%D9%86-%D9%85%DA%A9-%D8%A2%D9%81%DB%8C-%D9%87%D9%88%DB%8C%D8%AA-%D8%AE%D8%A7%D9%84%D9%82-%D8%A8%DB%8C%D8%AA-%DA%A9%D9%88%DB%8C%D9%86-%D8%B1%D8%A7-%D8%A7%D9%81%D8%B4%D8%A7-%D9%85%DB%8C%DA%A9%D9%86%D8%AF-ppo2bmwgzkhh</link>
                <description>سازنده‌ی آنتی‌ویروس مک‌آفی قصد دارد هویت پدر بیت‌کوین را افشا کند و ادعا دارد به‌دلیل پرونده‌های قضایی خود، افشای اطلاعات را به تأخیر انداخته استناکاموتو ایده‌ی ساخت بیت‌کوین را در سال ۲۰۰۸ مطرح کرد و در ادامه‌ی همان سال با گروهی از افراد اقدام به اجرایی کردن طرح خود کرد. اگر خبر زنده بودن ساتوشی ناکاموتو حقیقت داشته باشد، می‌تواند تغییر اساسی در بازار دادوستد بیت‌کوین ایجاد کند. احتمال می‌رود ناکاموتو به‌همراه تعدادی از بنیان‌گذاران بیت‌کوین، مقدار زیادی از این ارز مجازی را در اختیار داشته باشند که ممکن است رقم آن به ۱ میلیون بیت‌کوین برسد کافی است رقم مذکور را با کل حجم بازار بیت‌کوین که تنها ۱۷.۶ میلیون سکه است مقایسه کنیم تا متوجه شویم چه مقدار عظیمی از سرمایه در دستان ناکاموتو قرار دارد که در حدود ۵.۶ میلیارد دلار ارزش دارد. اما چون این سکه‌ها حدود ۱۰ سال است که جابه‌جا نشده‌اند، شائبه‌ی زنده نبودن ناکاموتو را ایجاد کرده است.در صورت صحت داشتن ادعاهای مک‌آفی، سکه‌های تحت اختیار ناکاموتو ظرفیت ورود دوباره به بازار بیت‌کوین را دارند.? @timtec_co تیم تِک</description>
                <category>timtec</category>
                <author>timtec</author>
                <pubDate>Mon, 20 May 2019 10:06:15 +0430</pubDate>
            </item>
                    <item>
                <title>زبان برنامه نویسی PHP</title>
                <link>https://virgool.io/@timtec-co/%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-php-bx01ybyivi9o</link>
                <description>این زبان سمت سرور می باشد و ابزاری برای طراحی وب است برا همین بسیار ساده تر از زبان های دیگری مانندASP  و غیره... میتوان آن را یاد گرفت و با آن طراحی کرد. ASP و زبان های دیگر تکنولوژی برای ساخت وب می باشند و شاید به همین دلیل از لحاظ امنیتی نشود به آن ها تکیه کرد برای همین باید از php  استفاده کنیم تا یک سایت با امنیت بالا داشته باشیم. زبان php یک زبان open source می باشد به همین دلیل از طرفداران بسیاری برخوردار می باشد و جالب است بدانیم حدود 240 میلیون سایت با این زبان وجود دارد! به نظر شما اگر این زبان امنیت و قدرت دفاع نداشت این تعداد سایت از این زبان استفاده میکردند؟! نه تنها قدرت دفاع، بلکه سرعت بسیار زیادی برای ارسال و دریافت اطلاعات دارد. @timtec-co  کانال شرکت فنی مهندسی تیم تِک</description>
                <category>timtec</category>
                <author>timtec</author>
                <pubDate>Thu, 16 May 2019 11:06:27 +0430</pubDate>
            </item>
                    <item>
                <title>تیم فنی مهندسی تیم تِک</title>
                <link>https://virgool.io/@timtec-co/%D8%AA%DB%8C%D9%85-%D9%81%D9%86%DB%8C-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%D8%AA%DB%8C%DA%A9-%D8%AA%D9%90%DA%A9-t79hyc7iebmb</link>
                <description>  شرکت فنی و مهندسی تیم تک ارائه دهنده انواع خدمات نرم افزاری، طراحی، بهینه سازی و پشتیبانی سایت های معرفی، اطلاع رسانی و فروشگاهی ...برگزاری انواع کلاس های آموزش برنامه نویسی و طراحی وب از مبتدی تا پیشرفته به همراه پشتیبانی دائم پس از اتمام دوره آموزشی@timtec_co  کانال تلگرام تیم تِک </description>
                <category>timtec</category>
                <author>timtec</author>
                <pubDate>Mon, 13 May 2019 18:04:39 +0430</pubDate>
            </item>
            </channel>
</rss>