<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: MySQL and the number of the beast</title>
	<atom:link href="http://firefang.net/blog/924/feed" rel="self" type="application/rss+xml" />
	<link>http://firefang.net/blog/924</link>
	<description>May your sockets never timeout</description>
	<lastBuildDate>Tue, 16 Mar 2010 11:42:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: גיא מזרחי</title>
		<link>http://firefang.net/blog/924/comment-page-1#comment-7132</link>
		<dc:creator>גיא מזרחי</dc:creator>
		<pubDate>Tue, 01 Jul 2008 02:05:33 +0000</pubDate>
		<guid isPermaLink="false">http://firefang.net/blog/924#comment-7132</guid>
		<description>עמרי - הוא לא רק מוציא את הרוע אלא גם מוסיף רשומת Beast ל-DNS.
אכן, מספר חשוב :)</description>
		<content:encoded><![CDATA[<p>עמרי &#8211; הוא לא רק מוציא את הרוע אלא גם מוסיף רשומת Beast ל-DNS.<br />
אכן, מספר חשוב <img src='http://firefang.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: דניאל</title>
		<link>http://firefang.net/blog/924/comment-page-1#comment-7125</link>
		<dc:creator>דניאל</dc:creator>
		<pubDate>Mon, 30 Jun 2008 06:32:28 +0000</pubDate>
		<guid isPermaLink="false">http://firefang.net/blog/924#comment-7125</guid>
		<description>יכול להיות שהתוצאה שונה ממה שהיית מצפה לקבל.
בטוח שאין שום הגיון בשאילתה שבודקת האם שדה של מחרוזת מתאים למספק או מחרוזת.</description>
		<content:encoded><![CDATA[<p>יכול להיות שהתוצאה שונה ממה שהיית מצפה לקבל.<br />
בטוח שאין שום הגיון בשאילתה שבודקת האם שדה של מחרוזת מתאים למספק או מחרוזת.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: עמרי</title>
		<link>http://firefang.net/blog/924/comment-page-1#comment-7124</link>
		<dc:creator>עמרי</dc:creator>
		<pubDate>Mon, 30 Jun 2008 05:19:29 +0000</pubDate>
		<guid isPermaLink="false">http://firefang.net/blog/924#comment-7124</guid>
		<description>יהונתן, מי קורא את התיעוד? ;)

יוקס, 666 וbinary 666 הם ערכים שונים.
IN אמור לעשות השוואה שתלויה בסוג של המשתנים, אם המשתנים הם סטרינגים אז השוואה של סטרינגים, אם הם דאבלים אז דאבלים וכו&#039;.
יש שם איזה באג מטופש, שאגב לא משתחזר ב5.1 (לפי הבאג ריפורט שפתחתי: http://bugs.mysql.com/bug.php?id=37730)
המעקף לבעיה במקרה שלי הוא פשוט:
SELECT * FROM t WHERE a IN (&#039;666&#039;,&#039;a&#039;);
הסיבה ש666 לא קיבל גרשיים היא מטופשת במיוחד, הוא מספר ופונקציית הescape בPHP לא נוגעת במספרים.
המעקף שלי בעצם הוא בדיקה של ערכים מספריים, ועטיפה שלהם בגרשיים ישירות ולא עם escape.

גיא, זה מספר שימושי שכל האקר צריך להכיר.
הוא מוציא את הרוע מכל שרת.</description>
		<content:encoded><![CDATA[<p>יהונתן, מי קורא את התיעוד? <img src='http://firefang.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>יוקס, 666 וbinary 666 הם ערכים שונים.<br />
IN אמור לעשות השוואה שתלויה בסוג של המשתנים, אם המשתנים הם סטרינגים אז השוואה של סטרינגים, אם הם דאבלים אז דאבלים וכו&#8217;.<br />
יש שם איזה באג מטופש, שאגב לא משתחזר ב5.1 (לפי הבאג ריפורט שפתחתי: <a href="http://bugs.mysql.com/bug.php?id=37730)" rel="nofollow">http://bugs.mysql.com/bug.php?id=37730)</a><br />
המעקף לבעיה במקרה שלי הוא פשוט:<br />
SELECT * FROM t WHERE a IN (&#8216;666&#8242;,&#8217;a');<br />
הסיבה ש666 לא קיבל גרשיים היא מטופשת במיוחד, הוא מספר ופונקציית הescape בPHP לא נוגעת במספרים.<br />
המעקף שלי בעצם הוא בדיקה של ערכים מספריים, ועטיפה שלהם בגרשיים ישירות ולא עם escape.</p>
<p>גיא, זה מספר שימושי שכל האקר צריך להכיר.<br />
הוא מוציא את הרוע מכל שרת.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: גיא מזרחי</title>
		<link>http://firefang.net/blog/924/comment-page-1#comment-7123</link>
		<dc:creator>גיא מזרחי</dc:creator>
		<pubDate>Mon, 30 Jun 2008 04:07:16 +0000</pubDate>
		<guid isPermaLink="false">http://firefang.net/blog/924#comment-7123</guid>
		<description>הכל בגלל ה-666 הזה.
מספר בעייתי :-)</description>
		<content:encoded><![CDATA[<p>הכל בגלל ה-666 הזה.<br />
מספר בעייתי <img src='http://firefang.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yox</title>
		<link>http://firefang.net/blog/924/comment-page-1#comment-7122</link>
		<dc:creator>yox</dc:creator>
		<pubDate>Sun, 29 Jun 2008 23:36:57 +0000</pubDate>
		<guid isPermaLink="false">http://firefang.net/blog/924#comment-7122</guid>
		<description>באג? לא חסרים באגים ב-MySQL. אבל תראה משהו מעניין, אם תנסה:
SELECT * FROM t WHERE a IN (BINARY 666, &#039;a&#039;);
תקבל תשובה נכונה.

לדעתי, ה-IN אמור לעשות השוואה בינארית, אבל במקרה הזה, שה-expression הוא סטרינג וברשימת החיפוש יש סוגי מידע שונים, הוא מפקשש עם המספר, ולא לוקח אותו כבינארי. לא מצאתי מספיק מידע על איך הוא משווה בין סוגי מידע שונים ברשימת החיפוש, אם הוא עושה קאסט ואיך.

תודיע לי אם תמצא פיתרון לדבר הזה. :)</description>
		<content:encoded><![CDATA[<p>באג? לא חסרים באגים ב-MySQL. אבל תראה משהו מעניין, אם תנסה:<br />
SELECT * FROM t WHERE a IN (BINARY 666, &#8216;a&#8217;);<br />
תקבל תשובה נכונה.</p>
<p>לדעתי, ה-IN אמור לעשות השוואה בינארית, אבל במקרה הזה, שה-expression הוא סטרינג וברשימת החיפוש יש סוגי מידע שונים, הוא מפקשש עם המספר, ולא לוקח אותו כבינארי. לא מצאתי מספיק מידע על איך הוא משווה בין סוגי מידע שונים ברשימת החיפוש, אם הוא עושה קאסט ואיך.</p>
<p>תודיע לי אם תמצא פיתרון לדבר הזה. <img src='http://firefang.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: יהונתן</title>
		<link>http://firefang.net/blog/924/comment-page-1#comment-7121</link>
		<dc:creator>יהונתן</dc:creator>
		<pubDate>Sun, 29 Jun 2008 23:34:40 +0000</pubDate>
		<guid isPermaLink="false">http://firefang.net/blog/924#comment-7121</guid>
		<description>מהתיעוד של mysql:
You should never mix quoted and unquoted values in an IN list because the comparison rules for quoted values (such as strings) and unquoted values (such as numbers) differ. Mixing types may therefore lead to inconsistent results.
מתוך: http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in
אין הצדקה, אבל יודעים להגיד &quot;אל תעשה את זה&quot;...</description>
		<content:encoded><![CDATA[<p>מהתיעוד של mysql:<br />
You should never mix quoted and unquoted values in an IN list because the comparison rules for quoted values (such as strings) and unquoted values (such as numbers) differ. Mixing types may therefore lead to inconsistent results.<br />
מתוך: <a href="http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in</a><br />
אין הצדקה, אבל יודעים להגיד &#8220;אל תעשה את זה&#8221;&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
