آموزش php (وبلاگ یک پی اچ پی کار)

آموزش زبان برنامه نویسی php , html , css , تجربیات یک برنامه نویس

۱۲۰ مطلب با موضوع «php» ثبت شده است

تابع رمزنگاری با الگوریتم AES-128-CTR در زبان برنامه نویسی php

 

برای رمزنگاری از تابع زیر استفاده کنید :

 

function EncryptString($string)

{

    try {

        $ciphering = "AES-128-CTR";

        $iv_length = openssl_cipher_iv_length($ciphering);

        $options = 0;

        $iv = "1234567890123456";

        $key = "1234567890123456";

        $result = openssl_encrypt($string,$ciphering,$key,$options,$iv);

        return $result;

 

    } catch (\Throwable $th) {

        // return $th->getMessage();

        return false;

    }

 

}

 

 

 

 

برای رمزگشایی هم از تابع زیر استفاده کنید :

 

 

function DecryptString($string)

{

    try {

        $ciphering = "AES-128-CTR";

        $iv_length = openssl_cipher_iv_length($ciphering);

        $options = 0;

        $iv = "1234567890123456";

        $key = "1234567890123456";

        $result = openssl_decrypt($string,$ciphering,$key,$options,$iv);

        return $result;

 

    } catch (\Throwable $th) {

        return false;

    }

 

}

 

 


 

۲۵ فروردين ۹۹ ، ۰۹:۰۹ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

تاریخچه رمزنگاری و الگوریتم های مختلف رمزنگاری

تاریخچه رمزنگاری

به مطالعات رمزنگاری، cryptography اطلاق می شود که از واژه های یونانی kryptos به معنی پنهان و graphia به معنی نوشتن تشکیل شده است. به فرآیند باز کردن (شکستن) یک پیغام رمزنگاری شده بدون داشتن کلید cryptanalysis، به علم ایجاد کدهای رمزنگاری و شکستن آنها به طور همزمان cryptology و به فرآیند نوشتن مطلبی به صورت رمز شده به طوری که تنها افراد مجاز قادر به رمزگشایی و خواندن آن باشند، encryption یا همان رمزنگاری گفته می شود.


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

ادامه مطلب...
۲۵ فروردين ۹۹ ، ۰۸:۴۹ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

رمزنگاری اطلاعات

 

 

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

 

شاید بپرسید اصلا رمزنگاری چی هست ؟! 

داستان رمزنگاری اینه که ما تصمیم داریم به دلایل مختلفی که در پائین توضیح میدم یک متن یا محتوایی رو به یک شکل دیگر ( یک رشته رمزآلود ) تبدیل کنیم.

ادامه مطلب...
۲۴ فروردين ۹۹ ، ۲۰:۱۴ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

خطای SQLSTATE[42000]: Syntax error or access violation: 1055

برای رفع مشکل GROUPBY در لاراول وارد فایل زیر شوید و مقدار کلید گفته شده را به شکل زیر تغییر دهید:

config\database.php --> "mysql"

مقدار زیر رو تنظیم کنید:

'strict' => false

۲۲ فروردين ۹۹ ، ۱۱:۲۴ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

تغییر متن توکن ناصحیح پکیج پاسپورت لاراول

برای تغییر متن بازگشتی توکن اشتباه در پاسپورت لاراول به مسیر زیر برید :

app/Exceptios/Handler.php

و متد زیر رو به کلاس داخلش اضافه کنید و ساختار بازگشتی رو خودتون با سلیقه خودتون تغییر بدید :

 

    protected function unauthenticated($request, AuthenticationException $exception)

    {

        if ($request->expectsJson()) {

            /** return response()->json(['error' => 'Unauthenticated.'], 401); */

                $response = ['status' => 'error','message' => 'You pass invalid token'];

                return response()->json($response);

        }

        return redirect()->guest('login');

    }

۳۰ مهر ۹۸ ، ۲۰:۵۴ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

تغییر روت پیش فرض از public به public_html برای استفاده لاراول در cpanel و directAdmin

در لاراول شما برای تغییر پیش فرض پوشه ی public به public_html شما نیاز دارید که در دو فایل تغییراتی ایجاد کنید تا لاراول متوجه شود که اطلاعات را از پوشه ی public_html بخواند.

همانطور که می دانید بصورت پیش فرض در لاراول روت پروژه پوشه ی public می باشد. اما در برخی مواقع مثلا در هنگام استفاده از cpanel و directAdmin باید روت پیش فرض برنامه پوشه ی public_html باشد.

در لاراول شما برای تغییر پیش فرض پوشه ی public به public_html شما نیاز دارید که در دو فایل تغییراتی ایجاد کنید تا لاراول متوجه شود که اطلاعات را از پوشه ی public_html بخواند.

برای اینکار ابتدا پوشه ی index.php موجود در فایل public پروژه ی خود را باز نمایید خط زیر را پیدا کنید:

$app = require_once __DIR__.'/../bootstrap/app.php';

پس از خط بالا کد زیر را قرار دهید و قایل مربوطه را ذخیره کنید:

// set the public path to this directory
$app->bind('path.public', function() {
    return __DIR__;
});

 

حال فایل \App\Providers\AppServiceProvider.php را باز کنید و کد زیر را در متد register بصورت زیر قرار دهید:

public function register()
{
    // ...

    $this->app->bind('path.public', function() {
        return base_path('public_html');
    });
}

 

فایل را ذخیره و لاراول را در سرور خود اجرا نمایید. متوجه خواهید شد که مشکل رفع شده است.

۲۴ شهریور ۹۸ ، ۱۶:۳۷ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

نمایش پست ها در محدوده چند کیلومتری یک موقعیت جغرافیایی در لاراول

$lat = YOUR_CURRENT_LATTITUDE;
$lon = YOUR_CURRENT_LONGITUDE;
 
DB::table("posts")
->select("posts.id"
,DB::raw("6371 * acos(cos(radians(" . $lat . "))
* cos(radians(posts.lat))
* cos(radians(posts.lon) - radians(" . $lon . "))
+ sin(radians(" .$lat. "))
* sin(radians(posts.lat))) AS distance"))
->groupBy("posts.id")
->get();


 

۲۴ تیر ۹۸ ، ۱۲:۳۷ ۱ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

اجرای دائمی صف ها در لاراول 5.8

برای اجرای ادامه دار job ها در لاراول یک کران جاب بصورت زیر ایجاد کنید :

 

 
/usr/local/bin/php /home/my_project_path/artisan queue:listen --tries=10

 

البته روش بالا برای اجرای این دستور اصلا پیشنهاد نمیشه و صرفا برای این بود که شما بدونید که با کران جاب هم میتونیم دستورات داخلی لاراول رو هم که با artisan اجرا میکنیم رو هم اجرا کنیم.

چرا که این روش باعث میشه منابع سیستم بشدت مشغول بشن و روش بهتر استفاده از زمانبد خود لاراول هست و یک کران جاب برای اجرای زمانبند لاراول که خواستم مقاله ای مفصل بنویسم که سرچ زدم دیدم دوست عزیزی این مقاله رو نوشتن گفتم که اینجا دیگه لینکشو بزارم و دوباره ننویسم که چه کاریه !

این هم لینک مقاله اش :

نمایش

۰۷ تیر ۹۸ ، ۲۳:۰۱ ۱ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی