PDA

View Full Version : دسترسی دادن فقط به cron job



amir6268
شنبه 12 دی 1394, 17:08 عصر
سلام
میخوام هر هفته در زمان مشخصی cron به یک صفحه بره و اطلاعات رو ثبت کنه ...
حالا میخوام به اون صفحه دسترسی بدم که فقط cron بتونه اطلاعات رو ثبت کنه و اگر از طریق مرورگر آدرس باز شد هیچ عملی انجام نشه ...
لطفا اگه میشه کدش هم بزارید

amir6268
شنبه 12 دی 1394, 18:52 عصر
کسی بلد نیست؟!

rezaonline.net
شنبه 12 دی 1394, 19:17 عصر
آی پی سرورت می افته وقتی با wget کران جاب لود بشه اون صفحه
پس توی صفحه محدود کن دسترسی فقط با آی پی سرورت باشه

amir6268
شنبه 12 دی 1394, 19:48 عصر
مرسی ولی کدش رو بزارید ...
آی پی سرور رو چطوری بگیرم؟

arash_fa
شنبه 12 دی 1394, 19:50 عصر
سلام
کلام دوستمون صحیحه و میتونی از آی پی استفاده کنی که اگر آی پی سرور را نداری میتونی یک بار کرانجابز را اجرا کنی و درونش کد زیر را بذاری(اجرا توسط کران جابز نه مرورگر)


mail('YOURMAIL@gmail.com',IP ADDRESS,$_SERVER['REMOTE_ADDR']);

که آی پی را ایمیل میکنه براتون.


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



<IfModule authz_core_module> Require all denied</IfModule><IfModule !authz_core_module> Deny from all</IfModule>

amir6268
شنبه 12 دی 1394, 20:10 عصر
مشکل اینجاست آی پی رو کلا نمیفرسته و نشون نمیده ...

amir6268
شنبه 12 دی 1394, 22:59 عصر
آی پی که کرون باهاش اطلاعات رو ثبت میکنه چطوری پیدا کنم؟ کلا آی پی رو نشون نمیده.
حالا ارسال به ایمیل رو زدم خالی اومد حالت ثبت تو دیتابیس رو زدم بازم هیچی از آی پیش ثبت نشد...

yeganemehr
یک شنبه 13 دی 1394, 02:55 صبح
سلام
میخوام هر هفته در زمان مشخصی cron به یک صفحه بره و اطلاعات رو ثبت کنه ...
حالا میخوام به اون صفحه دسترسی بدم که فقط cron بتونه اطلاعات رو ثبت کنه و اگر از طریق مرورگر آدرس باز شد هیچ عملی انجام نشه ...
لطفا اگه میشه کدش هم بزارید

<?php
if (substr(PHP_SAPI, 0, 3) == 'cli') {
echo "OK\n";
} else {
echo "You are not allow to using browser for this file\n";
}
?>

amir6268
یک شنبه 13 دی 1394, 13:02 عصر
<?php
if (substr(PHP_SAPI, 0, 3) == 'cli') {
echo "OK\n";
} else {
echo "You are not allow to using browser for this file\n";
}
?>

مرسی با اولین پستت ترکوندی :دی
ولی کار این کد دقیقا چیه؟ مرورگر رو چک میکنه؟ cli چیه؟
ممنون

yeganemehr
دوشنبه 14 دی 1394, 11:15 صبح
مرسی با اولین پستت ترکوندی :دی
ولی کار این کد دقیقا چیه؟ مرورگر رو چک میکنه؟ cli چیه؟
ممنون

سلام، ممنونم از نظر لطفتون
CLI مخفف Command Line Interface هست.
بصورت خلاصه میشه گفت که php از راه های مختلفی اجرا میشه، از جمله اجرا کننده هایی معروف که جهت هماهنگی با وب سرور ها (دوستان اصولا به نام هندلر نام میبرند) FastCGI - CGI -FPM استفاده میشند.
ولیکن در مورد شما، شما با اجرای CronJob در واقع دارید از محیط خط فرمان فایل php خودتون رو اجرا میکنید.
دقیقا به دلیل مشکل شما، PHP از اولین نسخه های حرفه ای خودش ثابت PHP_SAPI و تابع php_sapi_name رو بوجود اورد تا توسعه دهندگان متوجه چگونگی اجرا برنامه بشند.
ترجیحا دو لینک زیر رو مطالعه بفرمایید، طبق تجربه بنده بسیار کاربردی خواهند بود
http://ir1.php.net/php_sapi_name
http://ir1.php.net/manual/en/reserved.variables.argv.php