PDA

View Full Version : سوتی از نوع php



masiha68
یک شنبه 19 خرداد 1392, 18:20 عصر
تا حالا شده چند ساعت وقت بذارین روی یه فکر جدید بعد ببین از اول سر کار بودین
(شاید مدیران محترم تایپک رو به دلیل بی ربط بودن حذف کنن ولی می خوام بقیه راه اشتباه منم نرن)

من چندین ساعت نشستم و واسه capcha این طرح رو نوشتم ولی بعدش ....:گریه::گریه:


function capcha ()
{
$num1= date('Hi');
$num2= date('ym');


$num3 = $num1.$num2;
return $num3;

}
function showcapcha()
{
echo capcha();
}

function truecapcha($capcha)
{
$cap=capcha();
if($cap==$capcha)
{
return true;
}
else
{
return false;
}

}

$pop=truecapcha($_POST['capcha']);
if($pop==true)
{
echo "your kod is true";
}
else
{
echo "your kod is false";
}
?>
<form method="post">
<?php showcapcha();?><br />

<input type="text" name="capcha" size="30" />
</form>

..
مشکل اینجاست که بعد هر بار رفرش شدن صفحه ساعت و زمان تغییر می کرد پس یه capcha جدید به وجود می اومد که با متغییر ارسالی توسط تکست باکس فرق داره :)(
فعلا با این بخندیدین تا شب بیام و بگم چطور دو روز رو روی یه سیستم امنتیتی گذاشتم در حالی که همه چی رو هوا بود !!!!

plague
یک شنبه 19 خرداد 1392, 23:03 عصر
کپچا رو توی سشن یا دیتبایس ذخیره باید بکنی ! که بعد وقتی طرف ثبت کرد فرم رو از اونجا چک بکنی
اگه قرار باشه هردفعه ثابت باشه که فایده نداره

masiha68
یک شنبه 19 خرداد 1392, 23:08 عصر
کپچا رو توی سشن یا دیتبایس ذخیره باید بکنی ! که بعد وقتی طرف ثبت کرد فرم رو از اونجا چک بکنی
اگه قرار باشه هردفعه ثابت باشه که فایده نداره

در مورد سشن که ... فک کنم بشه ولی دیتابیس به درد نمی خوره ...
برم ببینم چیکار میشه کرد

plague
دوشنبه 20 خرداد 1392, 00:34 صبح
اتفاقا دیتابیس مناسب تره
اکثر سیستم های درست و حسابی که دیدم از دیتابیس استفاده میکنن

habibvafapour
دوشنبه 20 خرداد 1392, 00:45 صبح
کپچا رو توی سشن یا دیتبایس ذخیره باید بکنی ! که بعد وقتی طرف ثبت کرد فرم رو از اونجا چک بکنی
اگه قرار باشه هردفعه ثابت باشه که فایده نداره
اگر کپچا توی سشن و کوکی یا حتی دیتابیس ذخیره بشه که خیلی راحت میشه بهش دست پیدا کرد
این روزا از دیگه باید از drag and drop تکنولژی html5 استفاده میشه

masiha68
دوشنبه 20 خرداد 1392, 00:45 صبح
اتفاقا دیتابیس مناسب تره
اکثر سیستم های درست و حسابی که دیدم از دیتابیس استفاده میکنن

یعنی واسه هر کپچا یه فیلد رو ذخیره کنم !!! اونم کپچایی که فقط کارش تشخیص مصلحت نظامه ... ببخشید کپچایی که کارش تشخیص کاربر از رباته !؟؟؟

masiha68
دوشنبه 20 خرداد 1392, 00:50 صبح
ا
این روزا از دیگه باید از drag and drop تکنولژی html5 استفاده میشه
منظورتون از دراگ و دروپ اچ تی ام ال 5 چیه !!! یعنی مثل همین اندروید که صفحه اش با کشیدن باز میشه !؟!؟؟
اینم ایده ی جالبیه

Unique
دوشنبه 20 خرداد 1392, 02:38 صبح
اگر کپچا توی سشن و کوکی یا حتی دیتابیس ذخیره بشه که خیلی راحت میشه بهش دست پیدا کرد
کپچا را کسی توی کوکی ذخیره نیمکنه و دسترسی به Session و Database هم به این راحتی که شما میگین نیست مگه اینکه در برابر حملات مختلف آسیب پذیر باشه !

راه حل های دیگه یکیش استفاده از سرویس های آماده کپچا و استفاده از سوال و جواب ها و همون Darg And Drop هست که البته نیاز به html5 نداره و با jquery راحت انجام میشه ! توضیحش اینکه مثلا شما ۵ تا عکس یکطرف دراین و از کاربر میخواین مثلا عکس ساعت را drag کنه روی یک محل خاص نمونش هم این سایت هست (https://safelinking.net/p/4fb2b1af45) البته باید روی لینک Show Alternative کلیک کنید وگرنه کپچا معمولیه !

plague
دوشنبه 20 خرداد 1392, 15:25 عصر
یعنی واسه هر کپچا یه فیلد رو ذخیره کنم !!! اونم کپچایی که فقط کارش تشخیص مصلحت نظامه ... ببخشید کپچایی که کارش تشخیص کاربر از رباته !؟؟؟
بله
هرکپچا رو با تاریخ ثبتش در دیتبایس ذخیره میکنی
بعد در هر بار چک کردن یا ذخیره کردن سطر هایی که تاریخشون مثلا بیش از 10 دقیقست رو حذف میکنی
اینجوری تیبل بزرگ هم نمیشه


اگر کپچا توی سشن و کوکی یا حتی دیتابیس ذخیره بشه که خیلی راحت میشه بهش دست پیدا کرد
این روزا از دیگه باید از drag and drop تکنولژی html5 استفاده میشه

خیر اینجوری ها هم نیست ... اگه سایتتون مشکل امنیتی نداشته باشه نمیشه به اینها دسترسی پیدا کرد , اگه کسی بتونه به دیتبایس یا سشن شما دسترسی پیدا کنه در عرض نیم ساعت همه سایت رو به فنا میتونه بده و نمیاد وقتش رو روی کپچا تلف کنه !

اون درگ ان دراپ هم پشت پرده از همین سشن استفاده میکنن
ولیدیت کردن کپچا توی اسکریپت php انجام میشه و کد های html5 اونجا کاربردی ندارن