نقل قول: نوشتن یک کوئری؟؟
سلام
میدونم تاپیک مربوط به یک ماه قبل میشه ولی جواب میدم شاید به درد یکی خورد
شما باید توی جدول یوزرهاتون یک ستون قرار بدین و داخل اون id کاربر را به صورت هش شده قرار بدید.
حالا وقتی توسط لینک مورد نظرتون یک هش ارسال شد شما میاین و توی اون ستون هش ها سرچ میکنین( با کوئری) و سطری که مقدارش با مقدار فرستاده شده برابر بود همان یوزر مورد نظرتون میشه
نقل قول: نوشتن یک کوئری؟؟
نقل قول:
نوشته شده توسط
saba_kamali
با سلام
من میخوام یک برنامه بنویسم که هنگامی که کابر روی یک لینکی کلیک میکنه موقع انتقال به صفحه مورد نظر id این کاربر هم باید همراه با لینک ارسال بشه مانند کد زیر....
اما برای امنیت بیشتر این id رو hash کردم.
<a hreft="mysite.com/targetPage?id=eddea82ad2755b24c4e168c5fgfdgsdd40"> link</a>
حالا صفحه دوم میخوام دوباره کاربر مورد نظر با این id رو پیدا کنم تا اطلاعاتش ویرایش بشه. ولی از آنجایی که این id به صورت hash شده است نمیدونم چه کار باید کنم. (یعنی نوشتن یک کوئری که کاربری رو پیدا کنه که اگر id اون hash بشه حاصل برابر با این مقدار فرستاده شده توسط لینک باشه)
کسی میدونه چطور باید این کارو انجام بدم؟؟؟ اگر راهنماییم کنید خیلی خیلی ممنون میشم.
با تشکر
درود با این روش فشار زیادی میاد هم رو وب سرور و دیتابیستون میتونید از نشست ها (session) ها استفاده کنید که نیازی هم به هش نباشه
نقل قول: نوشتن یک کوئری؟؟
شما ظاهرا با MD5 هش کردی
کد HTML:
<a hreft="mysite.com/targetPage?id=eddea82ad2755b24c4e168c5fgfdgsdd40"> link</a>
وقتی وارد این صفحه میشه ، داری :
$_GET['id']= 'eddea82ad2755b24c4e168c5fgfdgsdd40';
برای بررسی با SQL این کدش هست
ولی از این کد استفاده نکنید
mysql_qury('select * from TableName where md5(username) = "'.$_GET['id'].'" ;');
چون این کد وقتی تعداد کاربرها زیاد باشه CPU رو به !!! میده
یعنی مثلا 50 برابر کندی سرعت
درستش اینه که :
شما حین ثبت نام کاربرها و ورود در جداول اطلاعاتی
علاوه بر نام کاربری و رمزشون
هش نام کاربری و هش رمزشون
هم ذخیره کنید
که الان دیگه راحت بهش بگید :
mysql_qury('select * from TableName where usernameHASH = "'.$_GET['id'].'" ;');
موفق باشید