PDA

View Full Version : اپدیت نرم افزار فقط برای IP مورد نظر



mansour161
سه شنبه 27 مرداد 1394, 02:07 صبح
- من آپدیت نرم افزار رو نوشتم و کار میکنه فقط میخواستمبدونم چطور به آیپی که میخوام فقط اجازه آپدیت برنامه رو بدم .

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

abdullah20
سه شنبه 27 مرداد 1394, 10:31 صبح
فقط یک آی پی خاص؟
ان آی پی را شم دارید؟

mansour161
چهارشنبه 28 مرداد 1394, 00:03 صبح
سلام مهندس
ببینید برنامه رو رایگان می دم بیرون بعدا هر کی دانلود و نصب کرد از برنامه معمولی استقاده می کنه مگر اینکه بخواد آپدیت کنه
اون موقع هست که به محض زدن آپدیت دستوراتی به کاربر اعلام میشه که باید آیپیش رو بفرسته تا برا ایپیش آپدیت باز بشه
و بعدا هم که من براش از سایت باز کنم

silsin
چهارشنبه 28 مرداد 1394, 00:09 صبح
کاملا بستگی داره به اینکه چه جوری این اپدیت رو انجام میدین . برای بهتر پاسخ دادن به سوالتون باید این مورد ذکر بشه که شما چه جوری برنامه رو اپدیت می کنی تا بر اساس روش شما به سوالتون به مشکل شما پاسخ داده بشه

abdullah20
چهارشنبه 28 مرداد 1394, 09:41 صبح
خوب دوست عزیز شما بگید فقط یک ای پی خاص یا یک رنج ای پی؟
یا مثلا ای پی یک کشور؟

aliagamon
چهارشنبه 28 مرداد 1394, 12:43 عصر
این به نوع کار سیستم اپدیتتون ربط داره اما اگه هاست خودتون هست یه .htaccess توی فولدر اپدیت بسازین اینو توش بنویسین:


Order deny,allow
Deny from all
Allow from 1.1.1.1

جای 1.1.1.1 ای پی که میخواین دسترسی داشته باشه رو وارد کنید.
اینطوری شما دسترسی تمام ای پی هارو به هاستتون رو سد میکنین و بعد میاین دونه دونه ای پی هایی که میخواین رو access میدین...
فکر کنم جواب بده برای کاری که میخواین بکنین
اگه هاستتون ویندوز باشه htaccess فکر نکنم کار کنه اما بگردین تو نت هست روشش ... راستش من زیاد با سرور و هاست ویندوزی کار نکردم

mansour161
چهارشنبه 28 مرداد 1394, 15:48 عصر
سلام بر مهندسین گرامی و خیلی تشکر میکنم از پاسختون
دوستان به این روش


private void button1_Click(object sender, EventArgs e)
{
string downloadurl = "";
Version newversion = null;
string xmlurl = "http://x.com/update.xml";
XmlTextReader reader = null;

try
{
reader = new XmlTextReader(xmlurl);
reader.MoveToContent();
string elementname = "";


if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "update"))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
elementname = reader.Name;
}

else
{
if ((reader.NodeType == XmlNodeType.Text) && (reader.HasValue))
{
switch (elementname)
{
case "version":
newversion = new Version(reader.Value);
break;
case "url":
downloadurl = reader.Value;
break;
}

}
}
}

}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
//Application.Current.Shutdown();

}
finally
{
if (reader != null)
reader.Close();
}

Version appv = System.Reflection.Assembly.GetExecutingAssembly(). GetName().Version;
if (appv.CompareTo(newversion) < 0)
{

if (MessageBox.Show("آیا فایل آپدیت دانلود شود؟", "سوال", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)

{
string url = @"http://x.com/x.exe";

WebClient client = new WebClient();
client.DownloadFileCompleted += new AsyncCompletedEventHandler(messageComplete);

if (File.Exists(System.AppDomain.CurrentDomain.BaseDi rectory + @"\x_Backup.exe"))
{
File.Delete(System.AppDomain.CurrentDomain.BaseDir ectory + @"\x_Backup.exe");
File.Move(System.AppDomain.CurrentDomain.BaseDirec tory + @"\x.exe", System.AppDomain.CurrentDomain.BaseDirectory + @"\x_Backup.exe");
}
else
{
File.Move(System.AppDomain.CurrentDomain.BaseDirec tory + @"\x.exe", System.AppDomain.CurrentDomain.BaseDirectory + @"\x_Backup.exe");
}


client.DownloadFileAsync(new Uri(url), System.AppDomain.CurrentDomain.BaseDirectory + @"\x.exe");
MessageBox.Show("فایل در حال دانلود می باشد");
}
else
{

}
}
else
{
MessageBox.Show("این نرم افزار آخرین ورژن موجود می باشد..");
}
}


void messageComplete(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("نرم افزار با موفقیت به روز رسانی شد. لطفا نرم افزار را بسته و دوباره باز کنید");
}

}
}




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

aliagamon
چهارشنبه 28 مرداد 1394, 20:09 عصر
خب با توجه به نوع اپیدت که میاد اطلاعات رو از یه xml میخونه شما بیا ای پی های مجاز رو تو اون فایل تعریف کن ... اگه ای پی شخص تو لیست بود اپدیتو انجام بده ...
البته روش اولی هم که گفتم جواب میده چون کلی ترین حالتو در نظر گرفته بودم