ציטוט:
נכתב במקור על ידי meshuga
דבר ראשון הסדר לא הכי נכון, קודם תבדוק ואז תראה אם זה שם, אם כן, תציג שזה מושעה, אם לא אז תעשה משהו אחר (הוספת האיי פי למסד או כל דבר אחר שבא לך).
עכשיו הבדיקה, במקום להריץ לולאה ואז לשלוף וכו' וכו'.
אתה יכול לעשות 2 דברים או:
PHP קוד:
$check_q=mysql_query("SELECT COUNT(`ip`) AS `count` FROM `details` WHERE `ip`='$ip'");
$check=mysql_fetch_array($check_q);
if($check["count"]>0)
echo "אתה חסום";
else
echo "מה שבא לך";
או
PHP קוד:
$check_q=mysql_query("SELECT `ip` FROM `details` WHERE `ip`='$ip'");
$check=mysql_num_rows($check_q);
if($check>0)
echo "אתה חסום";
else
echo "מה שבא לך";
אני הייתי עושה ככה פחות או יותר...לדעתי זה יותר חוסך משאבים.
עכשיו, אני לא מזלזל בך...וזה לא קשור לאיי פי וחסימות..זה יותר קשור לניצול וחסיכת משאבים וכו'.
וכן, לדעתי הכי טוב זה שכל אחד יוציא לפה את מה שהוא טוב בו...כי אח"כ חבל שאנשים ילמדו דברים שגויים או פחות טובים...
בכל מקרה כמו שאמרתי, הרעיון של האשכול מצויין.
|
אני יכול להציע דרך אחרת?
השיטה שלך בעצם תבדוק כל פעם האם מצאת את ה IP והאם אתה כבר בסוף הרשימה (כלומר EOF)
קודם כל הייתי מעביר את הרשימה הזאתי לקובץ XML וכל פעם שאני חוסם IPים אני ממיין את הקובץ הזה מחדש.
ובמקום לבדוק כל פעם האם ה IP שלך נמצא במסד והאם הגעת לסוף הרשימה EOF אפשר לקצר את זה בכמה מילישניות טובות עם הוספת ה IP לסוף הרשימה ואז לבדוק רק אם מצאת אותו.
במידה ומצאת רק אז אתה בודק אם אתה בסוף הרשימה. במידה וכן, אז אין לך את ה IP הזה.
במידה ואתה לא בסוף הרשימה אז יש לך כבר את ה IP הזה בחסומים.
כמובן בסוף אתה צריך למחוק את ה IP שהוספת אותו ידנית.