PDA

View Full Version : سوال: ایجاد و چک شدن key و دریافتIP و ذخیره سازی آن برای درخواست های ارسالی



mehrdad1991h
دوشنبه 16 بهمن 1391, 19:26 عصر
سلام
دوستان من یه فایل php دارم که بعد از ارسال درخواست یه فایل XML را به کاربر نشون می دهد
الان میخوام همه نتونن درخواست ارسال کنن و با یک key جلوی ارسال درخواست همه را بگیرم و فقط افردای که key معتبر دارن بتونن درخواست ارسال کنند

این قسمتی هست که درخواست ارسال میکنه

<?php

include("me.php");

$mo = $_REQUEST["m"];

$i = new Ib();
$mArr = array_change_key_case($i->getMoho($mo), CASE_UPPER);


الان من چی کار کنم که درخواست با key چک بشه ؟
key را چجوری بسازمش ؟ میخوام یه جوری باشه که که خودم هم بدونم کودوم key ماله چه کسیه که درصورتی که key معتبر بود IPدرخواست کننده + نامی که من مشخص کردم که بدونم کیه + زمان ارسال درخواست در یک فایل لوگ ( در یک مکان ) ذخیره بشه ؟ یعنی هر بار نیاد یه فایل لوگ جدید بسز تو همون فایل لوگ قبلی به انتهای فایل اضافه بشه اینا

من با سی شارپ کار میکنم با PHP خیلی کم بلدم کار کنم
اگر ممکنه راهنمایی فرمایید یا نمونه کدی (اگر مقدور هست) ارائه کنید که بتونم با توجه به اون کارم را انجام بدم

سپاس و تشکر

Keramatifar
دوشنبه 23 بهمن 1391, 23:44 عصر
درخواست قرار است از طریق POST باشد یا GET یا WebService MEthod؟
من متوجه نمی شم، دریافت یک key در اطلاعاتی که دریافت می کنید براتون مشکل است؟
فکر کنم اگر فایل me.php که include شده را قرار دهید بهتر بتونم کمکتون کنم

MMSHFE
سه شنبه 24 بهمن 1391, 08:25 صبح
دوست گرامی، ساخت key کار زیاد سختی نیست. میتونید یک جدول برای هر key داشته باشین که فیلدهای ip و key و expire_time رو داشته باشه و توی این جدول، key متناظر با هر ip و زمان انقضای اون رو ذخیره کنید و توی لینکی که به هر کاربر میدین، key رو بگذارین (با روش get) یا اگه با فرم post کار میشه، key رو بصورت تگ input مخفی توی فرم بگذارین. اگر هم با webservice هست، جزو پارامترهایی که دریافت میکنید تعریف کنید. موقع دریافت هم key دریافتی رو با جدول مربوط به هر ip چک کنید و اگه درست بود، اجازه استفاده بدین. expire_time رو هم برای این گفتم که بتونید برای keyها زمان انقضا تعریف کنید. تنها کاری که باقی میمونه، الگوریتم تولید key هست که میتونید از md5 ساده یک عبارت تصادفی استفاده کنید یا بصورت افزایشی کلیدها رو برحسب آخرین مقدار جدول کلیدها تولید کنید. کار سختی نیست. یکم تمرکز داشته باشین، به راحتی میتونید انجام بدین.
موفق باشید.