<?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: Protecting MySQL Sessions With SSH Port Forwarding (Part 2)</title>
	<atom:link href="http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vbmysql.com</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Fri, 07 Jan 2011 12:23:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Andrew</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1910</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Fri, 23 Oct 2009 13:12:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1910</guid>
		<description>I am in awe. Fantastic work guys. I was trying to figure out how I was going to get the info across the connection until I realised it&#039;s actually a tunnel - so XMLHTTP all the way. Cheers!</description>
		<content:encoded><![CDATA[<p>I am in awe. Fantastic work guys. I was trying to figure out how I was going to get the info across the connection until I realised it&#8217;s actually a tunnel &#8211; so XMLHTTP all the way. Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WaQas</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1909</link>
		<dc:creator>WaQas</dc:creator>
		<pubDate>Fri, 07 Nov 2008 16:48:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1909</guid>
		<description>dear MitMacher, i also have a question about plink.exe, when we try to connect to new host it say that  &quot;The server&#039;s host key is not cached in the registry. You have no guarantee that the server is the computer you think it is.&quot; is there any solution that it cheche the host key automatically??

---

store key ....
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

i store munally keys to upper registry..after reading value from putty... but  &quot;-ssh -l tunnel -pw 123456 -L 3306:127.0.0.1:3306 -batch 127.0.0.1&quot; can we use any switch that it store automatically???


Thanks in advance..</description>
		<content:encoded><![CDATA[<p>dear MitMacher, i also have a question about plink.exe, when we try to connect to new host it say that  &#8220;The server&#8217;s host key is not cached in the registry. You have no guarantee that the server is the computer you think it is.&#8221; is there any solution that it cheche the host key automatically??</p>
<p>&#8212;</p>
<p>store key &#8230;.<br />
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys</p>
<p>i store munally keys to upper registry..after reading value from putty&#8230; but  &#8220;-ssh -l tunnel -pw 123456 -L 3306:127.0.0.1:3306 -batch 127.0.0.1&#8243; can we use any switch that it store automatically???</p>
<p>Thanks in advance..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WaQas</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1908</link>
		<dc:creator>WaQas</dc:creator>
		<pubDate>Fri, 07 Nov 2008 14:28:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1908</guid>
		<description>please check it .. and see about PUTTY...
http://rapidshare.com/files/161506550/puttyhijackvid_Nov_07__2008_.zip.html</description>
		<content:encoded><![CDATA[<p>please check it .. and see about PUTTY&#8230;<br />
<a href="http://rapidshare.com/files/161506550/puttyhijackvid_Nov_07__2008_.zip.html" rel="nofollow">http://rapidshare.com/files/161506550/puttyhijackvid_Nov_07__2008_.zip.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WaQas</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1907</link>
		<dc:creator>WaQas</dc:creator>
		<pubDate>Fri, 07 Nov 2008 14:09:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1907</guid>
		<description>ahaan, its mean that there is no way to check that host is availablae??

dear, really thanks to post these codes :)


------
bro. try below wait module.. it will great for you,


Option Explicit


Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
    End Type
    Private Const WAIT_ABANDONED&amp; = &amp;H80&amp;
    Private Const WAIT_ABANDONED_0&amp; = &amp;H80&amp;
    Private Const WAIT_FAILED&amp; = -1&amp;
    Private Const WAIT_IO_COMPLETION&amp; = &amp;HC0&amp;
    Private Const WAIT_OBJECT_0&amp; = 0
    Private Const WAIT_OBJECT_1&amp; = 1
    Private Const WAIT_TIMEOUT&amp; = &amp;H102&amp;
    Private Const INFINITE = &amp;HFFFF
    Private Const ERROR_ALREADY_EXISTS = 183&amp;
    Private Const QS_HOTKEY&amp; = &amp;H80
    Private Const QS_KEY&amp; = &amp;H1
    Private Const QS_MOUSEBUTTON&amp; = &amp;H4
    Private Const QS_MOUSEMOVE&amp; = &amp;H2
    Private Const QS_PAINT&amp; = &amp;H20
    Private Const QS_POSTMESSAGE&amp; = &amp;H8
    Private Const QS_SENDMESSAGE&amp; = &amp;H40
    Private Const QS_TIMER&amp; = &amp;H10
    Private Const QS_MOUSE&amp; = (QS_MOUSEMOVE _
    Or QS_MOUSEBUTTON)
    Private Const QS_INPUT&amp; = (QS_MOUSE _
    Or QS_KEY)
    Private Const QS_ALLEVENTS&amp; = (QS_INPUT _
    Or QS_POSTMESSAGE _
    Or QS_TIMER _
    Or QS_PAINT _
    Or QS_HOTKEY)
    Private Const QS_ALLINPUT&amp; = (QS_SENDMESSAGE _
    Or QS_PAINT _
    Or QS_TIMER _
    Or QS_POSTMESSAGE _
    Or QS_MOUSEBUTTON _
    Or QS_MOUSEMOVE _
    Or QS_HOTKEY _
    Or QS_KEY)


Private Declare Function CreateWaitableTimer Lib &quot;kernel32&quot; _
    Alias &quot;CreateWaitableTimerA&quot; ( _
    ByVal lpSemaphoreAttributes As Long, _
    ByVal bManualReset As Long, _
    ByVal lpName As String) As Long


Private Declare Function OpenWaitableTimer Lib &quot;kernel32&quot; _
    Alias &quot;OpenWaitableTimerA&quot; ( _
    ByVal dwDesiredAccess As Long, _
    ByVal bInheritHandle As Long, _
    ByVal lpName As String) As Long


Private Declare Function SetWaitableTimer Lib &quot;kernel32&quot; ( _
    ByVal hTimer As Long, _
    lpDueTime As FILETIME, _
    ByVal lPeriod As Long, _
    ByVal pfnCompletionRoutine As Long, _
    ByVal lpArgToCompletionRoutine As Long, _
    ByVal fResume As Long) As Long


Private Declare Function CancelWaitableTimer Lib &quot;kernel32&quot; ( _
    ByVal hTimer As Long)


Private Declare Function CloseHandle Lib &quot;kernel32&quot; ( _
    ByVal hObject As Long) As Long


Private Declare Function WaitForSingleObject Lib &quot;kernel32&quot; ( _
    ByVal hHandle As Long, _
    ByVal dwMilliseconds As Long) As Long


Private Declare Function MsgWaitForMultipleObjects Lib &quot;user32&quot; ( _
    ByVal nCount As Long, _
    pHandles As Long, _
    ByVal fWaitAll As Long, _
    ByVal dwMilliseconds As Long, _
    ByVal dwWakeMask As Long) As Long


Public Sub Wait(lNumberOfSeconds As Double)

    Dim ft As FILETIME
    Dim lBusy As Long
    Dim lRet As Long
    Dim dblDelay As Double
    Dim dblDelayLow As Double
    Dim dblUnits As Double
    Dim hTimer As Long
    hTimer = CreateWaitableTimer(0, True, App.EXEName &amp; &quot;Timer&quot;)


    If Err.LastDllError = ERROR_ALREADY_EXISTS Then
        &#039; If the timer already exists, it does n
        &#039;     ot hurt to open it
        &#039; as long as the person who is trying to
        &#039;     open it has the
        &#039; proper access rights.
    Else
        ft.dwLowDateTime = -1
        ft.dwHighDateTime = -1
        lRet = SetWaitableTimer(hTimer, ft, 0, 0, 0, 0)
    End If

    &#039; Convert the Units to nanoseconds.
    dblUnits = CDbl(&amp;H10000) * CDbl(&amp;H10000)
    dblDelay = CDbl(lNumberOfSeconds) * 1000 * 10000
    &#039; By setting the high/low time to a nega
    &#039;     tive number, it tells
    &#039; the Wait (in SetWaitableTimer) to use
    &#039;     an offset time as
    &#039; opposed to a hardcoded time. If it wer
    &#039;     e positive, it would
    &#039; try to convert the value to GMT.
    ft.dwHighDateTime = -CLng(dblDelay / dblUnits) - 1
    dblDelayLow = -dblUnits * (dblDelay / dblUnits - _
    Fix(dblDelay / dblUnits))


    If dblDelayLow &lt; CDbl(&amp;H80000000) Then
        &#039; &amp;H80000000 is MAX_LONG, so you are jus
        &#039;     t making sure
        &#039; that you don&#039;t overflow when you try t
        &#039;     o stick it into
        &#039; the FILETIME structure.
        dblDelayLow = dblUnits + dblDelayLow
    End If

    ft.dwLowDateTime = CLng(dblDelayLow)
    lRet = SetWaitableTimer(hTimer, ft, 0, 0, 0, False)


    Do
        &#039; QS_ALLINPUT means that MsgWaitForMulti
        &#039;     pleObjects will
        &#039; return every time the thread in which
        &#039;     it is running gets
        &#039; a message. If you wanted to handle mes
        &#039;     sages in here you could,
        &#039; but by calling Doevents you are lettin
        &#039;     g DefWindowProc
        &#039; do its normal windows message handling
        &#039;     ---Like DDE, etc.
        lBusy = MsgWaitForMultipleObjects(1, hTimer, False, _
        INFINITE, QS_ALLINPUT&amp;)


        DoEvents
        Loop Until lBusy = WAIT_OBJECT_0

        &#039; Close the handles when you are done wi
        &#039;     th them.
        CloseHandle hTimer
    End Sub</description>
		<content:encoded><![CDATA[<p>ahaan, its mean that there is no way to check that host is availablae??</p>
<p>dear, really thanks to post these codes <img src='http://www.vbmysql.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8212;&#8212;<br />
bro. try below wait module.. it will great for you,</p>
<p>Option Explicit</p>
<p>Private Type FILETIME<br />
    dwLowDateTime As Long<br />
    dwHighDateTime As Long<br />
    End Type<br />
    Private Const WAIT_ABANDONED&amp; = &amp;H80&amp;<br />
    Private Const WAIT_ABANDONED_0&amp; = &amp;H80&amp;<br />
    Private Const WAIT_FAILED&amp; = -1&amp;<br />
    Private Const WAIT_IO_COMPLETION&amp; = &amp;HC0&amp;<br />
    Private Const WAIT_OBJECT_0&amp; = 0<br />
    Private Const WAIT_OBJECT_1&amp; = 1<br />
    Private Const WAIT_TIMEOUT&amp; = &amp;H102&amp;<br />
    Private Const INFINITE = &amp;HFFFF<br />
    Private Const ERROR_ALREADY_EXISTS = 183&amp;<br />
    Private Const QS_HOTKEY&amp; = &amp;H80<br />
    Private Const QS_KEY&amp; = &amp;H1<br />
    Private Const QS_MOUSEBUTTON&amp; = &amp;H4<br />
    Private Const QS_MOUSEMOVE&amp; = &amp;H2<br />
    Private Const QS_PAINT&amp; = &amp;H20<br />
    Private Const QS_POSTMESSAGE&amp; = &amp;H8<br />
    Private Const QS_SENDMESSAGE&amp; = &amp;H40<br />
    Private Const QS_TIMER&amp; = &amp;H10<br />
    Private Const QS_MOUSE&amp; = (QS_MOUSEMOVE _<br />
    Or QS_MOUSEBUTTON)<br />
    Private Const QS_INPUT&amp; = (QS_MOUSE _<br />
    Or QS_KEY)<br />
    Private Const QS_ALLEVENTS&amp; = (QS_INPUT _<br />
    Or QS_POSTMESSAGE _<br />
    Or QS_TIMER _<br />
    Or QS_PAINT _<br />
    Or QS_HOTKEY)<br />
    Private Const QS_ALLINPUT&amp; = (QS_SENDMESSAGE _<br />
    Or QS_PAINT _<br />
    Or QS_TIMER _<br />
    Or QS_POSTMESSAGE _<br />
    Or QS_MOUSEBUTTON _<br />
    Or QS_MOUSEMOVE _<br />
    Or QS_HOTKEY _<br />
    Or QS_KEY)</p>
<p>Private Declare Function CreateWaitableTimer Lib &#8220;kernel32&#8243; _<br />
    Alias &#8220;CreateWaitableTimerA&#8221; ( _<br />
    ByVal lpSemaphoreAttributes As Long, _<br />
    ByVal bManualReset As Long, _<br />
    ByVal lpName As String) As Long</p>
<p>Private Declare Function OpenWaitableTimer Lib &#8220;kernel32&#8243; _<br />
    Alias &#8220;OpenWaitableTimerA&#8221; ( _<br />
    ByVal dwDesiredAccess As Long, _<br />
    ByVal bInheritHandle As Long, _<br />
    ByVal lpName As String) As Long</p>
<p>Private Declare Function SetWaitableTimer Lib &#8220;kernel32&#8243; ( _<br />
    ByVal hTimer As Long, _<br />
    lpDueTime As FILETIME, _<br />
    ByVal lPeriod As Long, _<br />
    ByVal pfnCompletionRoutine As Long, _<br />
    ByVal lpArgToCompletionRoutine As Long, _<br />
    ByVal fResume As Long) As Long</p>
<p>Private Declare Function CancelWaitableTimer Lib &#8220;kernel32&#8243; ( _<br />
    ByVal hTimer As Long)</p>
<p>Private Declare Function CloseHandle Lib &#8220;kernel32&#8243; ( _<br />
    ByVal hObject As Long) As Long</p>
<p>Private Declare Function WaitForSingleObject Lib &#8220;kernel32&#8243; ( _<br />
    ByVal hHandle As Long, _<br />
    ByVal dwMilliseconds As Long) As Long</p>
<p>Private Declare Function MsgWaitForMultipleObjects Lib &#8220;user32&#8243; ( _<br />
    ByVal nCount As Long, _<br />
    pHandles As Long, _<br />
    ByVal fWaitAll As Long, _<br />
    ByVal dwMilliseconds As Long, _<br />
    ByVal dwWakeMask As Long) As Long</p>
<p>Public Sub Wait(lNumberOfSeconds As Double)</p>
<p>    Dim ft As FILETIME<br />
    Dim lBusy As Long<br />
    Dim lRet As Long<br />
    Dim dblDelay As Double<br />
    Dim dblDelayLow As Double<br />
    Dim dblUnits As Double<br />
    Dim hTimer As Long<br />
    hTimer = CreateWaitableTimer(0, True, App.EXEName &amp; &#8220;Timer&#8221;)</p>
<p>    If Err.LastDllError = ERROR_ALREADY_EXISTS Then<br />
        &#8216; If the timer already exists, it does n<br />
        &#8216;     ot hurt to open it<br />
        &#8216; as long as the person who is trying to<br />
        &#8216;     open it has the<br />
        &#8216; proper access rights.<br />
    Else<br />
        ft.dwLowDateTime = -1<br />
        ft.dwHighDateTime = -1<br />
        lRet = SetWaitableTimer(hTimer, ft, 0, 0, 0, 0)<br />
    End If</p>
<p>    &#8216; Convert the Units to nanoseconds.<br />
    dblUnits = CDbl(&amp;H10000) * CDbl(&amp;H10000)<br />
    dblDelay = CDbl(lNumberOfSeconds) * 1000 * 10000<br />
    &#8216; By setting the high/low time to a nega<br />
    &#8216;     tive number, it tells<br />
    &#8216; the Wait (in SetWaitableTimer) to use<br />
    &#8216;     an offset time as<br />
    &#8216; opposed to a hardcoded time. If it wer<br />
    &#8216;     e positive, it would<br />
    &#8216; try to convert the value to GMT.<br />
    ft.dwHighDateTime = -CLng(dblDelay / dblUnits) &#8211; 1<br />
    dblDelayLow = -dblUnits * (dblDelay / dblUnits &#8211; _<br />
    Fix(dblDelay / dblUnits))</p>
<p>    If dblDelayLow &lt; CDbl(&amp;H80000000) Then<br />
        &#8216; &amp;H80000000 is MAX_LONG, so you are jus<br />
        &#8216;     t making sure<br />
        &#8216; that you don&#8217;t overflow when you try t<br />
        &#8216;     o stick it into<br />
        &#8216; the FILETIME structure.<br />
        dblDelayLow = dblUnits + dblDelayLow<br />
    End If</p>
<p>    ft.dwLowDateTime = CLng(dblDelayLow)<br />
    lRet = SetWaitableTimer(hTimer, ft, 0, 0, 0, False)</p>
<p>    Do<br />
        &#8216; QS_ALLINPUT means that MsgWaitForMulti<br />
        &#8216;     pleObjects will<br />
        &#8216; return every time the thread in which<br />
        &#8216;     it is running gets<br />
        &#8216; a message. If you wanted to handle mes<br />
        &#8216;     sages in here you could,<br />
        &#8216; but by calling Doevents you are lettin<br />
        &#8216;     g DefWindowProc<br />
        &#8216; do its normal windows message handling<br />
        &#8216;     &#8212;Like DDE, etc.<br />
        lBusy = MsgWaitForMultipleObjects(1, hTimer, False, _<br />
        INFINITE, QS_ALLINPUT&amp;)</p>
<p>        DoEvents<br />
        Loop Until lBusy = WAIT_OBJECT_0</p>
<p>        &#8216; Close the handles when you are done wi<br />
        &#8216;     th them.<br />
        CloseHandle hTimer<br />
    End Sub</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MitMacher</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1906</link>
		<dc:creator>MitMacher</dc:creator>
		<pubDate>Thu, 06 Nov 2008 17:23:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1906</guid>
		<description>Well, I only store the process ID of the tunnel after waiting 3 seconds (it takes some time):

Public SshTunnelPid As Long
...
If ShellExecuteEx(si) Then
  Call mWaitDelay(3)
  SshTunnelPid = si.hProcess
  OpenSshTunnel = True
End If

Then I have this function to prove if the process still exists:

Private Declare Function GetExitCodeProcess Lib &quot;kernel32&quot; (ByVal hProcess As Long, lpExitCode As Long) As Long

Public Function IsSshTunnelActive() As Boolean
  Dim ExitCode As Long
  Call GetExitCodeProcess(SshTunnelPid, ExitCode)

  &#039; &amp;H103 means &quot;process still active&quot;
  IsSshTunnelActive = IIf(ExitCode = &amp;H103, True, False)
End Function

If not, I re-run the opening process every time data must be transfered through the tunnel, very simple but it works... :-)

And if you need it:

Public Declare Function GetTickCount Lib &quot;kernel32&quot; () As Long

Public Sub mWaitDelay(lSekunden As Long)
    Dim lTimeOut As Long

    lTimeOut = (GetTickCount / 1000) + lSekunden
    Do
        DoEvents
    Loop Until lTimeOut &lt; (GetTickCount / 1000)
End Sub


PS: Thanks for your kind offer about themida, but I am afraid I don&#039;t have enough time for testing this. Mostly I am delevoping web applications with PHP and VB is only a big exception.</description>
		<content:encoded><![CDATA[<p>Well, I only store the process ID of the tunnel after waiting 3 seconds (it takes some time):</p>
<p>Public SshTunnelPid As Long<br />
&#8230;<br />
If ShellExecuteEx(si) Then<br />
  Call mWaitDelay(3)<br />
  SshTunnelPid = si.hProcess<br />
  OpenSshTunnel = True<br />
End If</p>
<p>Then I have this function to prove if the process still exists:</p>
<p>Private Declare Function GetExitCodeProcess Lib &#8220;kernel32&#8243; (ByVal hProcess As Long, lpExitCode As Long) As Long</p>
<p>Public Function IsSshTunnelActive() As Boolean<br />
  Dim ExitCode As Long<br />
  Call GetExitCodeProcess(SshTunnelPid, ExitCode)</p>
<p>  &#8216; &amp;H103 means &#8220;process still active&#8221;<br />
  IsSshTunnelActive = IIf(ExitCode = &amp;H103, True, False)<br />
End Function</p>
<p>If not, I re-run the opening process every time data must be transfered through the tunnel, very simple but it works&#8230; <img src='http://www.vbmysql.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>And if you need it:</p>
<p>Public Declare Function GetTickCount Lib &#8220;kernel32&#8243; () As Long</p>
<p>Public Sub mWaitDelay(lSekunden As Long)<br />
    Dim lTimeOut As Long</p>
<p>    lTimeOut = (GetTickCount / 1000) + lSekunden<br />
    Do<br />
        DoEvents<br />
    Loop Until lTimeOut &lt; (GetTickCount / 1000)<br />
End Sub</p>
<p>PS: Thanks for your kind offer about themida, but I am afraid I don&#8217;t have enough time for testing this. Mostly I am delevoping web applications with PHP and VB is only a big exception.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WaQas</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1905</link>
		<dc:creator>WaQas</dc:creator>
		<pubDate>Thu, 06 Nov 2008 14:26:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1905</guid>
		<description>sorry dear, i do lot of posts same time ....


bro, will you please tell me how can i check that tunnel is opened successfully... because some time on slow connection it take some time to establish the connection ..

please tell me the way that how can we check that connection successfully established and then we can open our database through the tunnel....

Thanks in advance..</description>
		<content:encoded><![CDATA[<p>sorry dear, i do lot of posts same time &#8230;.</p>
<p>bro, will you please tell me how can i check that tunnel is opened successfully&#8230; because some time on slow connection it take some time to establish the connection ..</p>
<p>please tell me the way that how can we check that connection successfully established and then we can open our database through the tunnel&#8230;.</p>
<p>Thanks in advance..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WaQas</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1904</link>
		<dc:creator>WaQas</dc:creator>
		<pubDate>Thu, 06 Nov 2008 14:07:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1904</guid>
		<description>send me your email address... i will send you themida      ... you should check it .. it is very very good security ..
in vb6 if you use its macros .. so .. it will fully protected...</description>
		<content:encoded><![CDATA[<p>send me your email address&#8230; i will send you themida      &#8230; you should check it .. it is very very good security ..<br />
in vb6 if you use its macros .. so .. it will fully protected&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WaQas</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1903</link>
		<dc:creator>WaQas</dc:creator>
		<pubDate>Thu, 06 Nov 2008 14:04:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1903</guid>
		<description>ahaan, its kool to know about SSH..


its mean .. tunnel is the safest way to communicate with any type data...

dear.. actually my clients keep the money records.. so you can think about hackers ... and they always want to destroy security to incriment their money ... so i am frightened..</description>
		<content:encoded><![CDATA[<p>ahaan, its kool to know about SSH..</p>
<p>its mean .. tunnel is the safest way to communicate with any type data&#8230;</p>
<p>dear.. actually my clients keep the money records.. so you can think about hackers &#8230; and they always want to destroy security to incriment their money &#8230; so i am frightened..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MitMacher</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1902</link>
		<dc:creator>MitMacher</dc:creator>
		<pubDate>Thu, 06 Nov 2008 13:57:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1902</guid>
		<description>OK, themida sounds good but I haven&#039;t used it so far.
And as far as I know the ssh password will be transmitted AFTER the handshake has been done and the connection is already secured, so you don&#039;t have to bother with that.</description>
		<content:encoded><![CDATA[<p>OK, themida sounds good but I haven&#8217;t used it so far.<br />
And as far as I know the ssh password will be transmitted AFTER the handshake has been done and the connection is already secured, so you don&#8217;t have to bother with that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WaQas</title>
		<link>http://www.vbmysql.com/articles/security/protecting-mysql-sessions-with-ssh-port-forwarding-part-2#comment-1901</link>
		<dc:creator>WaQas</dc:creator>
		<pubDate>Thu, 06 Nov 2008 12:03:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.vbmysql.com/protecting-mysql-sessions-with-ssh-port-forwarding-part-2/#comment-1901</guid>
		<description>sir, i hope that my software can&#039;t b open .. because it is sucure with the

http://themida.com/themida.php

i also no worry that anybody change the plink.exe with there file to get command ... because i check MD5 hash to veryfy plink.exe ...

i just worry that is anyone can get the ssh password run time or with any runtime debuger???


Thanks in advance...</description>
		<content:encoded><![CDATA[<p>sir, i hope that my software can&#8217;t b open .. because it is sucure with the</p>
<p><a href="http://themida.com/themida.php" rel="nofollow">http://themida.com/themida.php</a></p>
<p>i also no worry that anybody change the plink.exe with there file to get command &#8230; because i check MD5 hash to veryfy plink.exe &#8230;</p>
<p>i just worry that is anyone can get the ssh password run time or with any runtime debuger???</p>
<p>Thanks in advance&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

