PDA

View Full Version : سوال: قفل سخت افزاری برای برنامه های php



rash44
پنج شنبه 25 تیر 1388, 14:47 عصر
سلام

آیا این امکان وجود داره که برای برنامه هایی که با پی اچ پی نوشته و روی لوکال هاست اجرا میشن قفل سخت افزاری گذاشت ؟

امیـرحسین
پنج شنبه 25 تیر 1388, 15:26 عصر
شما واضحه که دارید دنبال راهی برای جلوگیری از سوء استفاده از کدهاتون هستید.

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

مثلا مشتری میخواد یک کاری رو انجام بده. شما به این کار یک کد میدید و بجای اینکه تو اسکریپت دست مشتری، عملیات رو انجام بدید، همچین بخشی ایجاد می کنید:

$response = file_get_contents('http://yoursite/customer1/getData.php?code=55&someData=kjsghksdfjhgsdsadsa');

if($response == 1)
{
// do something for 1
}

if($response == 2)
{
// do something for 2
}
خط اول به آدرس داده شده میره (که سایت شماست مهه نیست که محتوای سایت چیه. مهم اینه که فایل خاص توش باشه) و خروجی رو دریافت می کنه. مثلا اگر خروجی فقط یه دونه 1 بود، IF اول اجرا میشه و ....

روشهایی انجام این کار خیلی زیاده از قبیل ارسال با cURL، ارسال با سوکت، دریافت با XML یا JSON و.....
مهم اونی هست که بیشتر با هدف شما سازگاره و بهش مسلطید.
درضمن امنیت هم مهمه که کسی نتونه با اجرای مستقیم URL بالا اطلاعات حساسی رو بگیره.

rash44
پنج شنبه 25 تیر 1388, 15:51 عصر
سلام

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

با این روشی که شما گفتین آیا سرعت برنامه پائین نمیاد ؟

امیـرحسین
پنج شنبه 25 تیر 1388, 18:21 عصر
کدهای شما نباید برای مشتری قابل دسترس باشه. توی فضای اینترنت میشه از یک سرور مجزا استفاده کرد و توی یک شبکه داخلی هم از یک بخش حفاظت شده.

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

rash44
پنج شنبه 25 تیر 1388, 19:44 عصر
کدهای شما نباید برای مشتری قابل دسترس باشه. توی فضای اینترنت میشه از یک سرور مجزا استفاده کرد و توی یک شبکه داخلی هم از یک بخش حفاظت شده.

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

سلام
من نمي خوام برنامه از طريق اينترنت اجرا بشه به دليل پائين بودن سرعت و گاهي در دسترس نبودن

لطفا اگر كسي 1 راهي ديگه سراغ داره راهنمائي كنيد
امير حسين جان ممنون كه جواب دادي :بوس: