۲۰ مهر، ۱۳۹۹

٢ ماه پیش ٢۰۰+ امتیاز
@m-p یک گفتگو به اسم یک ایده جدید درست کرد.

با عرض سلام و خسته نباشید. در حال حاظر در حال نوشتن یک پلتفرم از نوع کاری Idea هستم و در آخر به اسپانسر برای معرفی به عموم نیازمندم. چندتا مورد توی ذهن خودم بود

  • سپاه
  • شرکت های دانش بنیان
  • حامی دولتی مشاغل جدید

مسئله مهم و گیج کننده خودم اینه که این پلتفرم به راحتی توانایی جهانی شدن رو داره. نظر دوستان در این باره چیه؟؟؟!!!!

یک سوال دیگه هم دارم:

آیا راهی هست که بتونم این پلتفرم رو قبل از ارائه ثبت کنم تا کپی نشه؟؟؟!!!

۱۱ مهر، ۱۳۹۹

٢ ماه پیش ١۰۰+ امتیاز
@m-p به گفتگوی روش کار شرکت‌های برنامه نویسی جواب داد.

با سلام. مکانی که من دارم کار میکنم اولا که اسم ی شرکت به خودمون ندادیم و بیشتر شبیه به تیم هستیم.

  • نکته اول این بود که ساعت کاری قانونی از ساعت ۸ تا ۱۶ بود و کار مفید حدود ۷ ساعت هست،نکته قابل توجه اینه که برامون ساعت کاری مهم نیست و هر وقت که کارمون تموم بشه دست از کد زدن میکشیم بعضی شبا شده خودم تا ساعت ۱۱ شب داخل شرکت بودم بعضی روزها هم ساعت ۱۳ رفتم

  • با توجه به این که همه پروژه ها روی Git یا بقیه ریپازیتوری ها آپلود میشه محل کار مهم نیست ولی توی شرکت تمرکز بیشتری روی کار داریم.

  • چطور نوشت پروژه به خود پروژه بستگی داره بعضی مواقع فقط یک نفر روی پروژه کار میکنه و نوع نوشتن به انتخاب خودمون بستگی داره،اما بعضی مواقع چند نفر روی کد کار میکنند و یا در آینده قراره چند نفر دیگر روی همون کد کار کنند در این مواقع نوع نوشتن کد بستگی به نظر لیدر تیم داره

۲۳ شهریور، ۱۳۹۹

٣ ماه پیش ٢۰۰+ امتیاز
@m-p یک گفتگو به اسم برنامه نویسی Drone درست کرد.

باعرض سلام و خسته نباشید خدمت امیر عزیز و دوست های پارس کلیکی. یک پروژه مربوط به کد نویسی پرواز هواپیما های بدون سر نشین(Drone) بهم پیشنهاد شده که برای انتخاب زبان برنامه نویسی شک دارم. به نظرتون بین زبان های python و rust کدوم زبان انتخابعاقلانه ای هست؟؟؟!!!

۲ امرداد، ۱۳۹۹

۴ ماه پیش ٢۰۰+ امتیاز
@m-p یک گفتگو به اسم گرفتن اطلاعات بیشتر از طریق session درست کرد.

با عرض سلام و خسته نباشید خدمت پارس کلیکی های عزیز. در بخش لاگین من مجبورم مثل ی حالت middleware مانند ایجاد کنم که فقط یوزر مورد نظر دسترسی های لازم رو داشته باشه و برای اینکار به محتوای ستون admin نیازمند هستم و میخوام این ستون رو از طریقsession ذخیره شده بگیرم،این session به من آیدی رو میده اما نمیتونم ازش استفاده کنم و ناچارا فعلا admin رو با session میفرستم که امنیتش خیلی پایینه.

  • کد اولیه(دارای ارور)

    function confirm_logged_in_admin(){
        $id = $_SESSION["user_id"];
        $user = select_user_by_id($id);
        if ($user["admin"] == 0) {
            redirect_to("../404.php");
        }
  • ارور

    Fatal error: Uncaught Error: Call to a member function query() on null in /var/www/html/barnelli/includes/functions.php:112 Stack trace: #0 /var/www/html/barnelli/includes/functions.php(174): select_user_by_id() #1 /var/www/html/barnelli/admin/index.php(5): confirm_logged_in_admin() #2 {main} thrown in /var/www/html/barnelli/includes/functions.php on line 112

    ارور ها رو برسی کردم و تنها مشکل واقعی در لاین سوم فانکشن هست.در واقع آیدی رو به varable وارد میکنه اما زمان استفاده آیدی رو بهم نمیده.

۶ تیر، ۱۳۹۹

۵ ماه پیش ٢۰۰+ امتیاز
@m-p یک گفتگو به اسم Runing php files in the other directorys exept /var/www/html درست کرد.

با عرض سلام و خسته نباشدخدمت پارس کلیکی های عزیز.

مشکل اینجاست که apache2 آپدیت کردم به نسخه 2.4.41 و از بعد از آپدیت سرور آپاچی

فقط و فقط داخل روت ‍‍var/www/html کار میکنه.

و داخل دایرکتوری های دیگه فایل های phpران نمیشه.

این مشکل رو چطور میشه حل کرد؟؟؟!!!

۴ شهریور، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی استفاده از ‍‍ubuntu or unix base جواب داد.

باسلام.

از نظر من (طبق تجربه شخصی):

  • مهمترین و اولین فرق unix base با ویندوز اینه که ی سری دخالت های بیجا که سیستم عامل انجام میده رو نداره و دست کاربر رو باز تر گذاشته(برای مثال استفاده کردن از زبان الکسیر در ویندوز از همون اول شروع به نصب به ارور میخوری)
  • فرق دوم اینه که تا حالا آنچنان ویروسی که در سطح جهانی پخش بشه برای unix ساخته نشده(حداقل تا اونجایی که من خبر دارم) در نتیجه نیازی به استفاده از آنتی ویروس های آشغال که سرعت سیستم و کار رو پایین میارن نیست
  • فرق سوم و مهمتر اینه که open source‍‍ هست و هر کسی میتونه به هر شکلی که میخواد شخصی سازیش کنه و همه افراد درش سهیم هستن

۱۷ امرداد، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی قابل دیدن نبودن بعضی صفحات سایت جواب داد.

@netwons شما میتونید داخل دیتا بیس ی فیلد بسازید که میزان دسترسی های کاربر و ادمین رو مشخص میکنه و بعد میتونید ی middleware بسازید و داخل اون براساس میزان دسترسی صفحه رو نشون بدید و یا کاربران رو ریدایرکت کنید به ی صفحه دیگه(مثلا صفحه 404)

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی Uncaught TypeError در جاواسکریپت جواب داد.

@m-p دلیلش رو پیدا کردم،کد دومی هم اون ارور رو داره ولی ارور نشون داده نمیشه،در واقع دلیل نشون دادن ارور else هست.

 else {
    console.log('error');
}

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی Uncaught TypeError در جاواسکریپت جواب داد.

@amir ممنون از راهنماییتون ولی ی نکته که هست کد زیر دقیقا شبیه همین کد هست ولی هیچگونه اروری ندارد.دلیلش چی میتونه باشه؟؟؟!!!

var request

if (window.XMLHttpRequest) {
  request = new XMLHttpRequest()
} else {
  request = new ActiveXObject('Microsoft.XMLHTTP')
}

request.open('GET', 'data.xml')
// request.open('GET', 'http://localhost:4046/api/values.asmx')
request.onreadystatechange = function () {
  if (request.readyState === 4 && request.status === 200) {
    var items = request.responseXML.getElementsByTagName('name');
    var output = "<ul>";

    for(var i=0;i<items.length;i++)
    {
      output+="<li>"+items[i].firstChild.nodeValue+"</li>";
    }

    output+="</ul>";
    document.getElementById('update').innerHTML=output;
  }
}

request.send()

۱۶ امرداد، ۱۳۹۸

١ سال پیش ٢۰۰+ امتیاز
@m-p یک گفتگو به اسم Uncaught TypeError در جاواسکریپت درست کرد.

با عرض سلام و خسته نباشید خدمت دوستان گرامی.

چند لاین کد ajax نوشتم که کار میکنه ولی همزمان ارور هم میده.

Uncaught TypeError: Cannot read property 'getElementsByTagName' of null at XMLHttpRequest.request.onreadystatechange

مشکل این کد کجا میتونه باشه؟؟؟!!!

  • ی نکته وجود داره و اینکه این ارور زمانی نمایش داده میشه که قسمت اول شرط request.readyState === 4 && رو برمیدارم،در غیر این صورت فقط error رو لاگ میزنه.
function ajax_XML(){
        var request;
        if(window.XMLHttpRequest){
            request = new XMLHttpRequest();
        }else{
            request = new ActiveXObject('Microsoft.XMLHTTP');
        }
        request.open('GET','ajax.xml');
        request.onreadystatechange = function(){

            if(request.readyState === 4 && request.status === 200){
                var items = request.responseXML.getElementsByTagName('Name');

                var output = "<ul>";

                for(var i = 0;i<items.length;i++){
                    output+="<li>" + items[i].firstChild.nodeValue + "</li>"
                }
                output+="</ul>";
                document.getElementById('ajax_xml').innerHTML=output;
            }else{
                console.log('error');
            }
        }
        request.send();
    }

۱۰ امرداد، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تحریم گیت هاب علیه کاربران ایرانی جواب داد.

@amir دلیل اینکه آمریکا و یا هیچ کمپانی نمیتونه بدون زیان کردن اونارو تحریم کنه اینه که به کسی وابسته نیستن،ببینین ما الان هممون عضو یک انجمن برنامه نویس هستیم و همممون کم و بیش مهارت های خوبی داریم،به این نکته فکر کنید که ما قدرت این رو داریم که یک مخزن شبیه به git hub بسازیم،پس چرا اینکار رو نکنیم و خودمون از پلتفرم خودمون استفاده نکنیم،و اینطوری کارها و پروژه هامون هم امن میمونه و همچین ااتفاقی نمیوفته.

اگر هرکدوممون یک گوشه کار رو بگیره به راحتی انجام میشه.
لطفا نظرتون رو در این باره بگید

۹ امرداد، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تحریم گیت هاب علیه کاربران ایرانی جواب داد.

با عرض سلام و خسته نباشید خدمت دوستان، من اینجا تمام بند های تحریم علیه ایران توسط دولت آمریکا ذکر شده و من نتونستم بندی درباره این کار گیت هاب پیدا کنم.

در واقع گیت هاب با بهانه تحریم ها نمیتونه این کار رو بکنه ،و اگر تحریمی در این باره باشه تنها در مورد شرکت ها و موسسه های وابسته به دولت و سپاه هست و نه بیشتر.

من به شخصه این کار رو محکوم میکنم و با راه اندازی کمپین موافقم

۵ امرداد، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.

@jserver دوست عزیز نکته مهم اینه که هر چیزی داخل سیستم از دست بره و از RAM خارج شده باشه قابل بازیابی هست فقط باید داخل ننت روش های مختلف رو امتحان کنید تا به جواب برسید.

نکته بعد اینه که شما اگر اوبونتو همه هاردتون رو اشغال نکرده باشه برای نصب ی ویندوز جدید نیازی به پاک کردن اوبونتو ندارید،فقط باید درایو بندی قسمتی که مربوط به اوبونتو نیست رو دوباره انجام بدید.

۱۶ تیر، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی پیشنهاد پلاگین وردپرسی برای ارزهای رمزگذاری شده مانند بیت کوین جواب داد.

@alirezan137 سلام.اگر پیام من رو یکبار دیگه با دقت بخونید متوجه میشید که من نگفتم از وردپرس نمیشه برای اپلیکیشن های مهم استفاده کرد بلکه گفتم بهتره که بجاش از php استفاده شه به همون دلایلی که بالا گفتم،در کل اگر کامنت قبلیم باعث توهین یا ایجاد سوء تفاهم شده،طلب بخشش میکنم

۱۳ تیر، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی کد نویسی با فریم ورک یا از پایه نویسی MVC جواب داد.

کد نویسی از پایه و استفاده نکردن از فریمورک ی کار اشتباه هست به سه دلیل خیلی مهم:
  • دلیل اول اینکه سرعت ساخت اپلیکیشن و کیفیت کد ها رو خیلی پایین میاره
  • دلیل سوم راحتی خوندن کد ها
  • و از همه مهمتر اینکه امنیت اپلیکیشن رو کم میکنه، چون فریمورک هر روزه توسط هزاران نفر داره استفاده میشه و هر استفاده به منزله یک تست هست که اگر مشکلی باشه سریع دیباگ میشه ولی کد هایی که از پایه نوشته شدن فقط توسط نویسنده تست میشه،حالا شما فکرش رو بکن با این همه حملاتی که هر روزه داره انجام میشه و اکثرا هم بی هدف و فقط برای اثبات قدرت هست چه اتفاقی میتونه برای ی اپ که امتحان خودش رو پس نداده بیوفته.

اگر هم میتونید در پایه نویسی کد ها امنیت رو به خوبی برقرار کنید(حداقل باگ های معروف رو نداشته باشید)،میشه باهاش کنار اومد

البته این رو هم در نظر بگیرید که کد های ی پروژه دولتی نباید از هیچ نوع الگویی پیروی کنه تا به ی هدف ساده بدل نشه،دیگه تصمیم با خودتونه

۷ تیر، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.

@jserver اگر درایو مربوط به ویندوز فرمت نشده باشه 2 تا راه دارید که اینجا و اینجا میتونید بهش دسترسی داشته باشید

۲۱ خرداد، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.

@jserver

طبق مراحل پایین باید ویش بری :
  • وارد قسمت secure Bootشو.

۱. os type رو بذار روی windows.

۲.وارد قسمت key management شو و pk managementرو پاک(delete)کن.

۳. برگرد و اگر دیدی secure Bootغیر فعال (disable)شده.اون وقت os type رو بذار روی other os.

بعد از هر مرحله تغیرات رو saveکن. البته این مراحل رو باید قبل از نصب انجام میدادی

۱۹ خرداد، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.

@jserver

Secure ‌Bootرو چک کردین؟

باید به روش خاصی غیر فعال بشه

۱۷ خرداد، ۱۳۹۸

١ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.

@jserver این مشکل هیچ ربطی به درایو C: نداره بلکه باید از داخل بایوس و در قسمت بوت،قسمت مربوط به نشون دادن همه سیستم عامل های فعال رو فعال کنی،احتمالش هست که بایوست bootableنباشه

۱۵ خرداد، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.

@jserver مشکل از کجا بود؟

۱۱ خرداد، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی ایجاد بخش فعالیت کاربری جواب داد.

@behzad قبل از هر کاری ابتدا به شکل زیر به دیتا بیس وصل شو

<?php
    $mysqli = new mysqli("localhost", "username", "password", "dbname");
?>

بعد از اون با استفاده از ی فانکشن شبیه کد پایین(میزان پیچیدگی به نوع نیاز خودت بستگی داره)

<?php
function familyName($fname, $year) {
    echo "$fname Refsnes. Born in $year <br>";
}

familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>

و به جای familyName("Hege", "1975"); از کد زیر برای استفاده از داده مورد نیازت استفاده کن.

<?php
    $result = $mysqli->query("SELECT lastname FROM employees");
?>
راه دومی که داری اینه که از طریق آبجکت به دیتا بیس وصل و اطلاعات رو به کار بگیری،به روش زیر
  • برای وصل شدن به دیتا بیس به شکل زیر عمل کن :
    <?php
    $myPDO = new PDO('mysql:host=localhost;dbname=dbname', 'username', 'password');
    ?>
  • برای استفاده از داده ها به جای familyName("Hege", "1975"); از کد پایین استفاده کن :
    <?php
    $result = $myPDO->query("SELECT lastname FROM employees");
    ?>
    راه سوم اینه که از طریق خروجی به دیتا بیس وصل شی،به شکل زیر
  • برای وصل شدن به دیتا بیس به شکل زیر عمل کن
    <?php
    mysql_connect('localhost','username','password');
    mysql_select_db("dbname");
    ?>
  • برای استفاده از داده ها به جای familyName("Hege", "1975"); از کد زیر استفاده کن
    <?php
    $result = mysql_query('SELECT lastname FROM employees');
    ?>

    نکته : میتونی ی متغیر به عنوان ورودی به فانکشن بدی و در جا های مختلف ازش استفاده کنی، با استفاده از functionname(); میتونی از وریبل دیفالتی که به فانکشن دادی استفاده کنی و حجم کد نویس رو کمتر کنی.

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی ایجاد بخش فعالیت کاربری جواب داد.

@behzad فقط لازمه که روابط بین جداول رو برقرار کنی و در فرنت،دیتا های مورد نظرت رو داخل قسمت های مربوطه past کنی.

۵ خرداد، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی مشکل نصب اوبونتو در کنار ویندوز جواب داد.

سلام به احتمال زیاد اینجا میتونید جواب مشکلتون رو پیدا کنید.

یک نکته قابل توجه اینه که خود من اوبونتو 18.3 رو روی DVD با استفاده از Rufus بوت کردم و بدون مشکل نصب شد.اما روی فلش حتی نمیشناختش چه برسه به اینکه بهم ارور بده.

۲۸ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی عدم فراخوانی برخی فایل ها در سایر پوشه ها جواب داد.

نکته اول اینکه داخل همین فایلتون ی ارور دارید اول از همه تگ img رو ببندید نکته دوم اینه احتمالا داخل فایلی که فراخوانی میکنید یک syntax error دارید که باعث میشه require once اجرا نشه و نکته آخر هم اینه که به احتمال زیاد مسیر دهی تون اشتباه هست و یا یک فولدر رو در کسیر دهی فراموش کردید.

۱۹ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی نحوه گرفتن پرمیشن بدون اجازه کاربر در اندروید 6 به بالا جواب داد.

@woohee من اپ رو به فرمت زیپ تبدیل کردم(.apk -> .zip) و بعد از حالت فشرده خارج کردم و به کد ها دسترسی داشتم.

۱۸ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی نحوه گرفتن پرمیشن بدون اجازه کاربر در اندروید 6 به بالا جواب داد.

@woohee سلام دوباره. سورس رت رو باز کردم و دیدم که کد ها به صورت فوقالعداه سختگیرانه بسته و کد گذاری شده اند و عملا غیر قابل خوندن هستن و دیکود کردنش هم تقریبا غیر ممکنه.در کل نتونستم به سورس دسترسی پیدا کنم ولی با این سختگیری در بسته شدن کد ها صد در صد گیر آنی ویروس میوفته و هیچ کاری نمیتونه پیش ببره. البته این نظر شخصیه منه و شاید یکی دیگه بتونه کد ها رو باز کنه و طرز کارشون رو بفهمه

۱۷ اردیبهشت، ۱۳۹۸

٢ سال پیش ٢۰۰+ امتیاز
@m-p یک گفتگو به اسم اتوماسیون درست کرد.

با عرض سلام و خسته نباشید خدمت دوستان و همکاران گرامی.

در مورد 2 پیشنهاد کاری نیارمند کمک هستم.

  • شرکت اول شرکتی هست که قبلا هم داخلش مشغول به کار بودم قبل از اون هم کارآموزشون بودم تا برنامه نویسی رو یاد بگیرم و کارشون فقط برنامه نویسی(سمت سرور و کلاینت و ...) هست و میخوان ودشون رو آپدیت کنند و در سطح بین الملل کار کنن ولی تا زمانی که زیر ساخت هاشون رو عوض کنن باید نزدیک به دو ماه بی کار باشم و وقتم کاملا آزاد هست.

  • شرکت دوم ی شرکت اتوماسیون هست که 2 بخش نرم افزار و سخت افزار رو داره،قسمت برنامه نویسی فقط سمت سرور هست و اغلب اوقات edit کردن کد های نوشته شده هست و تا زمانی هم که کد هه از اول نوشته نشن باید با همون زبان کار کرد(تقریبا ارتقاع سطحی برای برنامه نویس وجود نداره) و سمت سخت افزار هم بیشتر سیمکشی و اینطور چیز هاست.

ممنون میشم از کمکتون و اینکه تجربیاتتون رو در اختیارم بذارید.

۱۵ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی نحوه گرفتن پرمیشن بدون اجازه کاربر در اندروید 6 به بالا جواب داد.

@woohee هنوز وقت نکردم متاسفانه ولی تا آخر هفته بهتون ساز و کارش رو میگم

۱۳ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی نحوه گرفتن پرمیشن بدون اجازه کاربر در اندروید 6 به بالا جواب داد.

@woohee موقع نصب هر برنامه داخل گوشی ی دسترسی هایی میخواد که باید اونا رو تایید کنید تا برنامه نصب بشه،نکته اینجاست که یکی از این دسترسی ها این امکان رو داره که بدون اجرا نشدن برنامه به رت اجازه بده که ی کارهایی رو انجام بده،دقیقا مث تلگرام و فیسبوک منیجر(شما اینترنت رو روشن میکنید ولی هیچکدوم از این 2 برنامه رو اجرا نمیکنید ولی آلرت پیام ها براتون میاد).

حالا نکته اینجاست که این رت از این قابلیت استفاده میکنه اما نکته اساسی این جاست که از راه درست و دسترسی تایید شده این کار رو نمیکنه و چون در اون صورت گیر آنتی ویروس میوفته.

برام سورس رو به ایمیل [email protected] بفرستید تا برسیش کنم.فقط ی کم سریع چون خیلی کنجکاوم کردید.

۱۲ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی نحوه گرفتن پرمیشن بدون اجازه کاربر در اندروید 6 به بالا جواب داد.

ی نصیحت دوستانه،هیچ وقت از اپلیکیشن هایی که بهتون ی چیز آماده میدن استفاده نکنید(مث Spynote و ... )،به سه دلیل
  • اول اینکه اگر رت (منظورم از رت همون عامل نفوذ هست)،ویروس،ورم ویا هر چیز دیگه رو خودتون بسازید اول اینکه مطمئن هستید که دقیقا همون کارهایی رو که میخواید براتون انجام میده و دوم اینکه کنترلش در دست شماست(منظور : اطلاعات فقط به دست شما میرسه).
  • دوم اینکه ی کم منطقی باشید آیا کسی که میاد و ی اپ مینویسه که میتونه ی عامل نفوذی بسازه آیا نمیتونه داخل کد های اپ خودش ی تکه کد بزاره که از اون طریق به خودتون اتک بزنه و در اختیارش باشید و به ی زامبی تبدیل بشید و اینکه شاید اون اطلاعات فقط برای شما ارسال نشه و افراد دیگه ای هم در کار باشند.
  • سوم اینکه اگر خودتون ی چیزی رو بسازید در بد ترین حالات میدونید که چطوری اون(مخلوق خودتون)رو از دید آنتی ویروس پنهان کنید

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی نحوه گرفتن پرمیشن بدون اجازه کاربر در اندروید 6 به بالا جواب داد.

@woohee همونطور که گفتم و از پاسخ شما هم معلومه با ی آسیب پذیری اساسی داخل اندروید 6 به بالا روبرو هستیم که حتی به رت هایی که توسط Spynoteساخته میشن هم این اجازه رو میده که به پرمیشن های مورد نیاز رو بگیره. پس دیگه بحثی نمیمونه همه چیز مشخص و مفهومه.

۱۱ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی نحوه گرفتن پرمیشن بدون اجازه کاربر در اندروید 6 به بالا جواب داد.

به نظر من میتونه دلیلش این باشه که ی باگ زیرو دی داخل اندروید 6 به بالا هست که اکسپلویت شده و از این اکسپلوست داخل ی ویروس استفاده شده و این ویروس ی قسمت از اون رت هست و که همزمان با اجزا های لازمه برای نصب اپ فعال میشه و هدف رو زمین گیر میکنه. دلیل دوم این میتونه باشه که با ی رت فوق العاده هوشمند مثل ویروس استارکس نت روبرو هستید ک میتونه موقعیت خودش رو بشناسه که چه زمانی چه کاری کنه،در این مورد باز هم به ی کد مخرب که دربالا توضیح دادم نیاز داره.

2 تا نتیجه هست:

  • رت کارش رو همزمان با نصب شروع میکنه که در این صورت قبل از شروع کار رت اکسپلویتش عمل میکنه
  • ویروس نویسی فوق حرفه ای

در موارد بالا 2 تا نقطه مشترک وجود داره اول ی آسیب پذیری ziro day دوم اکسپلویت شدن اون آسیب پذیری که باعث میشه یه تکه کد قبل از اجرا توسط کاربر اجرا بشه

۹ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

@woohee پشت پرده آدرس سایت ها با ی نوع حروف دیگه که فقط کامپیوتر اونا رو میفهمه ساخته میشه و بعد به حروف الفبا ترجمه میشه و به ما تحویل داده میشه و با عوض کردن یکی از این حروف میشه ی ادرس انحصاری مثل gmai.com رو از اول به نام خودتون و در کنار آدرس اصلی سایت ثبت کنید و داخل گوگل و بقیه موتور های جست و جو هم بدون مشکل بالا بیاد.البته بهتون باید اینو بگم که این کار در همه جای دنیا جرم محسوب میشه.

۸ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

@woohee از نظر قانونی این غیر ممکنه،چون از این روش برای حملات فیشینک استفاده میشه مثلا پشت زمینه آدرس gmail.com رو تغییر میدن و سایت مورد نظر خودشون رو با gmail.com بالا میارن و محتوای مورد نظرشون رو قرار میدن و این یه حمله فیشینگ هست.منظور شما هم دقیقا ی همچین چیزی هست که میخواید آدرس سایتتون مال ی سایت دیگه باشه ولی با محتوای شما که البته امکانش هست و کار 5 دقیقس ولی همونطور که گفتم و دوست عزیزمون هم بهتون گفت این ی حمله فیشینگ به حساب میاد و ممکنه براتون دردسر بشه.

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

@woohee خب ی Middleware بساز که قبل از هر چیزی اجرا میشه و آدرس ها رو ریدایرکت کنه به آدرسی که خودت میخوای،وتنها کاری که باید بکنی اینه که روت های جدیدی بسازی که همون کار روت های قدیمی رو بکنن،و یا میتونی روت ها رو دونه دونه ریدایرکت کنی

۶ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

@woohee
popstate همون آدرس اصلی سایت هست که در قسمت event رویداد هایی که داخل سایت انجام میشه رو زیر نظر میگیره و در قسمت homepage هم که آدرس فعلی صفحه مورد نظر رو مینویسید،داخل شرط هم تغییر آدرس رو مینویسید،مثلا آدرس اینه -> 'http://my-app-url.com/?p=homepage' و همچنین میتونید داخل شرط از فانکشن history.pushState به شکل زیر استفاده کنید.

history.pushState({
    id: 'homepage'
}, 'pageTitle', url);

ی نکته : اگر قبل از انجام همه این شروط homepage رو داخل ی وریبل تعریف کنید خیلی بهتره.

تکه کد بالا یک مدل ساذه هست و شما بر اساس خواستتون باید تغیرش بدید.

در ضمن نکته ای که هست اینجاست که این قابلیت زمانی کار میکنه که کاربر بخواد روی دکمه عقب یا جلو(بالای مرورگر که به صفحات قبل یا بعد میره)کلیک کنه کار میکنه.اگر این مدل مد نظرتون هست این روش میتونه کاربردی باشه. اگر روش دیگه ای مد نظرتون هست احتمالا کار نمیکنه.

۵ اردیبهشت، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

@woohee این رو امتحان کن.

window.addEventListener('popstate', function (event) {
    if (history.state && history.state.id === 'homepage') {
        // Render new content for the hompage
    }
}, false);

اگر جواب نداد باز اطلاع بده

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

میتونی از شرط هم استفاده کنی.
if (history.pushState) {
  window.history.replaceState(“object or string”, “Title”, “/another-new-url”);
} else {
  document.location.href = "/new-url";
}

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

سلام.این مقاله بهت کمک میکنه.

میتونی از متد زیر استفاده کنی

window.history.replaceState(“object or string”, “Title”, “/another-new-url”);

اگر کارساز نبود بگو.

۳۰ فروردین، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی اضافه نشدن foreign key جواب داد.

@amir ممنون از پیشنهادتون ولی برای مایگریشن ها و جداول همون کاری که گفتید رو قبلا انجام داده بودم و تمام مایگریشن ها و جدول ها بدون فارن کی ساخته شده و بعد در آخر فارن کی ها داخل ی مایگریشن جداگونه ساخته شده. بابت پیشنهاد NOSQL و Redis هم ممنون و ی سوال برای استفاده ازشون فقط کافیه داخل config\database.php حالت دیفالت رو تغییر بدم یا باید کامل یادشون بگیرم؟؟؟!!!

۲۸ فروردین، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی اضافه نشدن foreign key جواب داد.

@mohammad-hemmati نکته دیگه ای که هست با کامنت کردن ‍foreign key که ارور داره داخل foreign key بعدی که مربوط به ی جدول دیگه هست بازم همین ارور رو میده ولی اونم مشکوک نیست.

  • اینم ارورش

    1825 Failed to add the foreign key constraint on table 'advertising_category'. Incorrect options in FOREIGN KEY constraint 'project/advertising_category_category_id_foreign'")

    جداول درگیر :

  • foreign key

    Schema::table('advertising_category', function(Blueprint $table)
        {
            $table->engine = 'InnoDB';
            $table->foreign('category_id')->references('id')->on('category')->onDelete('cascade')->onUpdate('cascade');
            $table->foreign('advertising_id')->references('id')->on('advertising')->onDelete('setnull')->onUpdate('cascade');
        });
  • advertising_category

    Schema::create('advertising_category', function (Blueprint $table){
            $table->engine = 'InnoDB';
            $table->increments('id');
            $table->integer('category_id')->nullable(); 
            $table->integer('advertising_id')->nullable();
        });  
  • category

    chema::create('category', function (Blueprint $table){
             $table->engine = 'InnoDB';
             $table->increments('id')->unsigned();
             $table->string('body')->nullable();
             $table->timestamps();
    
        });

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی اضافه نشدن foreign key جواب داد.

@mohammad-hemmati

ممنون از نکته ای که گفتید.

براساس پروژه مجبور شدم چند تا تغییر داخل جداول بدم و چند تا جدول جدید هم اضافه کنم. foreign key ها رو داخل ی جدول جداگانه(بعد از همه جدول ها تا همه موارد مورد نیاز رو داشته باشه) و Constraints برای foreign key رو هم غیر فعال (disable) کردم و ارور تغیر کرد به :

1825 Failed to add the foreign key constraint on table 'advertising'. Incorrect options in FOREIGN KEY constraint 'project/advertising_payment_situationـstatus_foreign'")

اما مسئله جدید اینجاست که هیچ مورد مشکوکی نه در foreign key و نه در جداول مربوط نمیبینم.جدول های مرتبط رو پایین آوردم.

  • foreign key

    Schema::table('advertising', function(Blueprint $table)
        {
            $table->engine = 'InnoDB';
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
    
            $table->foreign('professional_id')->references('id')->on('professional')->onDelete('restrict')->onUpdate('cascade');
            $table->foreign('status_condition')->references('id')->on('status')->onDelete('Restrict')->onUpdate('cascade');
            $table->foreign('payment_situationـstatus')->references('status')->on('payment_situation')->onDelete('restrict')->onUpdate('cascade');
        });
  • advertising

    chema::create('advertising', function (Blueprint $table){
            $table->engine = 'InnoDB';
            $table->increments('id')->unsigned();
            $table->integer('user_id')->unsigned();
            $table->string('ranking')->nullable();
            $table->integer('status_condition')->unsigned()->nullable()->default(0);
            $table->string('name')->nullable();
            $table->string('family')->nullable();
            $table->string('phone')->nullable();
            $table->string('email')->nullable();
            $table->string('address')->nullable();
            $table->string('country_city')->nullable();
            $table->string('employer')->nullable();
            $table->string('official')->nullable();
            $table->time('start_date_of_cooperation')->nullable();
            $table->time('end_date_of_cooperation')->nullable();
            $table->string('employer_relationship')->nullable();
            $table->string('body')->nullable();
            $table->string('facebook')->nullable();
            $table->string('twitter')->nullable();
            $table->string('instagram')->nullable();
            $table->string('telegram')->nullable();
            $table->integer('professional_id')->unsigned()->nullable();
            $table->integer('payment_situationـstatus')->unsigned()->default(0);
            $table->timestamps();
    
        });
  • payment situation
    Schema::create('payment_situation', function (Blueprint $table) {
            $table->engine = 'InnoDB';
            $table->increments('id');
            $table->string('body')->nullable();
            $table->integer('status')->nullable()->numeric()->index();
            $table->timestamps();
        });=

۲۷ فروردین، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی اضافه نشدن foreign key جواب داد.

@katerou22 بله از mysql استفاده میکنم ولی این دستور (FOREIGN_KEY_CHECKS=0;)رو چطور استفاده کنم؟؟؟!!!(نتونستم جای درستش رو پیدا کنم)

۲۴ فروردین، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی پیشنهاد پلاگین وردپرسی برای ارزهای رمزگذاری شده مانند بیت کوین جواب داد.

با عرض سلام،دوست گرامی من پیشنهاد میکنم که کلا از پلاگین wordpress استفاده نکنید و بجاش از php یا Laravel استفاده کنید،چون علاوه بر اینکه سرعت و قدرت در php بیشتر هست،برای سایت های فروشگاهی که امکانات خاصی دارند بهتره که از php استفاده بشه،و از wordpress برای سایت های شرکتی(درکل سایت هایی که امکانات خاصی ندارند) خیلی خوب میشه استفاده کرد. علاوه بر این این پلاگین رو به زبان php حتما میتونید اینجا (گیت هاب) پیدا کنید.

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی اضافه نشدن foreign key جواب داد.

@katerou22 خیلی ممنون از جوابتون ولی فارن کی ها رو داخل ی مایگریشن جداگونه و در آخر از همه نوشتم ولی بازم بهم ارور داد و در نتیجه مجبور شدم برای تکمیل شدن رابطه ها،با توجه به اینکه فارن کی ها مشکلی نداشتن مجبور شدم با استفاده از کد Schema::disableForeignKeyConstraints(); محدودیت های ادد شدن فارن کی ها رو غیر فعال کنم.

ولی همچنان مشکل پا برجاست و در واقع میشه گفت از حل مسئله فرار کردم.

باز هم از جوابتون ممنونم.

۱۱ فروردین، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی اضافه نشدن foreign key جواب داد.

@amin سلام،اگر میشه در مورد راه اول ی کم بیشتر توضیح بدید،نوع ستون ها رو هم برابر با هم قرار دادم ولی بازم جواب نداد.

نوع ستون ها رو برابر کردم و بهم سینتکس ارور داد

حتی آیدی رو با آیدی join کردم بازم بهم همون ارور(general error: 1251 cannot add foreign key constraint) رو بهم داد

۱۰ فروردین، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی اضافه نشدن foreign key جواب داد.

@president

جداول رو داخل سوال ضمیمه کردم

۹ فروردین، ۱۳۹۸

٢ سال پیش ٢۰۰+ امتیاز
@m-p یک گفتگو به اسم اضافه نشدن foreign key درست کرد.

با عرض سلام و خسته نباشد خدمت دوستان گرامی.

در migration زیر،foreign key های نوشته شده اضافه نمیشوند و ارور general error:cannot add foreign keyconstraint رو میده،نکته قابل توجه اینجاست که هر جدولی که بیشتر از یک foreign key داشته باشه این ارور رو میده.

کد یکی از جدول ها رو پایین نوشتم(بابت طولانی بودن کد شرمنده).

  • جدولی که ارور میده
public function up()
    {
        Schema::create('advertising', function (Blueprint $table){
            $table->increments('id');
            $table->integer('user_id')->unsigned()->index();
            $table->string('ranking')->nullable();
            $table->string('status')->nullable();
            $table->string('name')->nullable();
            $table->string('family')->nullable();
            $table->string('advertising_name')->nullable();
            $table->string('phone')->nullable();
            $table->string('email')->nullable();
            $table->string('address')->nullable();
            $table->string('country-city')->nullable();
            $table->integer('category_id')->nullable();
            $table->string('week_days')->nullable();
            $table->string('time_open')->nullable();
            $table->string('time_close')->nullable();
            $table->string('body')->nullable();
            $table->string('facebook')->nullable();
            $table->string('twitter')->nullable();
            $table->string('instagram')->nullable();
            $table->integer('service_garanti_id')->unsigned()->nullable();
            $table->integer('professional_id')->unsigned()->nullable();
            $table->integer('insurance_Limit_id')->unsigned()->nullable();
            $table->timestamps();

            $table->foreign('user_id')->references('id')->on('users')
            ->onDelete('cascade')->onUpdate('cascade');

            $table->foreign('service_garanti_id')->references('id')->on('service_garanti')
            ->onDelete('restrict')->onUpdate('cascade');

            $table->foreign('professional_id')->references('id')->on('professional')
             ->onDelete('restrict')->onUpdate('cascade');

            $table->foreign('insurance_Limit_id')->references('id')->on('insurance_limit')
             ->onDelete('restrict')->onUpdate('cascade');
        });  
  • جداول مربوط به foreign key
public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name')->unique();
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password')->nullable();
            $table->string('phone')->unique()->nullable();
            $table->string('Date_of_birth')->nullable();
            $table->integer('status_Condition')->nullable();
            $table->string('address')->nullable();
            $table->rememberToken();
            $table->timestamps();

        });

    }
public function up()
    {
        Schema::create('service_garanti', function (Blueprint $table){
            $table->increments('id');
            $table->string('body')->nullable();
            $table->timestamps();
        });

    }
public function up()
    {
        Schema::create('Professional', function (Blueprint $table){
            $table->increments('id');
            $table->string('body')->nullable();
            $table->timestamps();
        });
    }
public function up()
    {
        Schema::create('Insurance_Limit', function (Blueprint $table){
            $table->increments('id');
            $table->string('body')->nullable();
            $table->timestamps();
        });
    }

۸ فروردین، ۱۳۹۸

٢ سال پیش ١۰۰+ امتیاز
@m-p به گفتگوی نصب لاراول در ابونتو ۱۸.۱۰ جواب داد.

@president درسته،ولی مشکلی که یک کم منو گیج کرد داکیومنت لاراول بود که که آدرس ~/.config/composer/vendor/bin رو پیشنهاد داده بود که ظاهرا غلط بوده،بازم ممنون

۵ فروردین، ۱۳۹۸

٢ سال پیش ٢۰۰+ امتیاز
@m-p یک گفتگو به اسم نصب لاراول در ابونتو ۱۸.۱۰ درست کرد.

سلام داشتم لاراول رو روی اوبونتو جدیدم نصب میکردم و بعد از ادیت کردن فایل .bashrc اکسپورت کردن $PATH.دستور لاراول اجرا نشد و همین دلیل کلی وقتم رو گرفت. من به صورت اتفاقی سیستم رو ریستارت کردم و بعد از اون دیدم که لاراول اوکی شده.اگه به این مشکل خوردین ی ریستارت نیاز دارین تا اوبونتو لاراول رو بشناسه.