<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Схема клиент-сервер от мульти использования]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=15827</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15827&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Схема клиент-сервер от мульти использования».]]></description>
		<lastBuildDate>Mon, 18 Jan 2021 07:47:41 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144985#p144985</link>
			<description><![CDATA[<p><strong>KusochekDobra</strong> Тогда понятно. Я не беспокоился за &quot;интеллектуальную собственность&quot;, т.к. ее можно сказать и нет. Рассматривал этот вопрос в целом, интересно применять это на практике. Спасибо за разъяснение.</p>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Mon, 18 Jan 2021 07:47:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144985#p144985</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144984#p144984</link>
			<description><![CDATA[<p>Не правильно рассуждаете.<br />Чем бы Вы не напичкали верификацию на стороне клиента, она всегда будет приводить к сравнению того, что пришло ответом и некоего признака разрешения. Напомню, его результатом всегда будет <strong>true</strong>, или <strong>false</strong>. Если Вы беспокоитесь из-за доступности Вашей интеллектуальной собственности, которую могут подделать, просто вписав <strong>true</strong> в каждое место такого сравнения, то AHK — не та платформа, которая позволяет за это <strong>не</strong> беспокоиться.</p><p>В этой связи, уязвимым местом можете считать AHK.</p>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Mon, 18 Jan 2021 07:38:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144984#p144984</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144983#p144983</link>
			<description><![CDATA[<p>Отлично. Правильно ли я понимаю, что сейчас, вот это место является уязвимой точкой ? <br /></p><div class="codebox"><pre><code>
if (time == &quot;Yes&quot;) 
</code></pre></div><p>В коде открыто указано дальнейшее место ветвления и &quot;правильный&quot; ответ от сервера. Верно ли утверждение, что единственный способ укрепить данное место, это - <em>&quot;использовать ответ от сервера, который дальше будет использоваться в программе, как один из основных компонентов для корректной работы&quot;</em> ?</p>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Mon, 18 Jan 2021 05:40:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144983#p144983</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144971#p144971</link>
			<description><![CDATA[<p>Существенно.</p>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Sun, 17 Jan 2021 20:39:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144971#p144971</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144910#p144910</link>
			<description><![CDATA[<p><strong>KusochekDobra</strong> Так правильно ?<br /></p><div class="codebox"><pre><code>
keys =
(
─────────▄▀▀▄─
░░█▀█▀▀▀▀█░░█░
░░▀░▀░░░░░▀▀░░
) 
time := can_i_open_the_door()

if (time == &quot;Yes&quot;) {
	OpenTheDoor(keys)
} else {
	MsgBox,16,Forbidden,% Опоздал! Буду спать на улице.
}

OpenTheDoor(keys) {
	door := GetDoorObject_FromAnotherLogic()
	door.Open(keys)
}

can_i_open_the_door() {
	get_obj := ComObjCreate(&quot;Home.Request.1.0.1&quot;)
	get_obj.Open(&quot;GET&quot;,&quot;[BATYA.ENDPOINT]/give-me-keys-for-open-the-door-please&quot;, false)
	get_obj.Send(data)
	return get_obj.ResponseData
}

&lt;?php
if (A_Now_Local_Time &lt; &quot;10_chasov_vechera&quot;)
{
	echo &quot;Yes&quot;;
}
else
	echo &quot;No&quot;;
?&gt;
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Sun, 17 Jan 2021 06:00:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144910#p144910</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144900#p144900</link>
			<description><![CDATA[<p>Ещё раз:<br />Батя, <strong>НЕ</strong> должен Вам ничего. Он Вас на свет произвёл, одежду купил, образование дал... Всё, свободен! Возвращаясь домой, Вы попадаете в пространство, которое он тащил вместе с организацией Ваших благородных начал. В его пространство. В этих рамках, можно только спрашивать разрешения, но ничего требовать, или брать без спросу!</p><p>С сервером то же самое. Клиенту он ничего не должен отправлять сверху того, что ему требуется для продолжения. В данном случае, если продолжать эту аналогию — собираясь пойти погулять, у Бати надо спросить разрешения, на случай, если у него есть на Вас другие планы и минимальным ответом на этот вопрос может быть только &quot;нет&quot;, или &quot;да&quot;. Если Батя пожелает, он сам примет решение, чтобы нагрузить Вас сверху смыслом жизни, объясняющим его позицию. При этом, как ни крути этот ментальный overload, едва ли повлияет на на возможность сопротивляться решению отца, если он скажет &quot;нет&quot;. А раз так, то для того, чтобы клиентская часть имела возможность просто начать работу, не запрашивайте у сервера ничего кроме разрешения и уже над ним проводите сравнение. В этом, как минимум нет смысла.</p>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Sat, 16 Jan 2021 21:04:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144900#p144900</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144876#p144876</link>
			<description><![CDATA[<p><strong>__Михаил__</strong> Это у меня тоже есть, но не в конкретном случае. Не всегда такое возможно, насколько я знаю.</p>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Sat, 16 Jan 2021 11:42:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144876#p144876</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144875#p144875</link>
			<description><![CDATA[<p><strong>Botsy</strong></p><p>Что мешает от сервера получить строки кода, без которого программа у клиента просто не сможет работать?</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Sat, 16 Jan 2021 11:33:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144875#p144875</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144873#p144873</link>
			<description><![CDATA[<p><strong>__Михаил__</strong> В 66 сообщении - сервер даёт ответ, мы его обрабатываем блоком if и в итоге клиент сам себе даёт разрешение. В 69 сообщении, я ушел от блока if совсем. Там разрыв соединения с сервером - это и есть ответ. Который обрабатывается блоком catch.</p>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Sat, 16 Jan 2021 10:53:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144873#p144873</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144871#p144871</link>
			<description><![CDATA[<p><strong>Botsy</strong></p><p>В приведённом коде от сервера ничего не приходит.</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Sat, 16 Jan 2021 10:36:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144871#p144871</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144869#p144869</link>
			<description><![CDATA[<p><strong>__Михаил__</strong> Ну так он возвращает ответ и опять возвращаемся к блоку if, где клиент сам себе даёт разрешение.</p>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Sat, 16 Jan 2021 10:34:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144869#p144869</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144866#p144866</link>
			<description><![CDATA[<p><strong>Botsy</strong></p><p>Тогда пускай возвращает ответ, который будет использоваться в программе. Я не понимаю зачем всё это, всё уже разжёвано как нужно - делай только.</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Sat, 16 Jan 2021 10:15:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144866#p144866</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144863#p144863</link>
			<description><![CDATA[<p><strong>__Михаил__</strong> Как это не выполняет ? Он сравнит время заданное батей и если будет позже 10, то соединение оборвется, а если меньше - то все ок.</p>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Sat, 16 Jan 2021 09:54:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144863#p144863</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144860#p144860</link>
			<description><![CDATA[<p><strong>Botsy</strong></p><p>А зачем тогда нужен сервер, если он не выполняет проверку? Тогда сразу нужно писать программу открытой и не парится с защитой.</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Sat, 16 Jan 2021 09:46:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144860#p144860</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Схема клиент-сервер от мульти использования]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=144845#p144845</link>
			<description><![CDATA[<p><strong>KusochekDobra</strong>,&nbsp; <strong>__Михаил__</strong>, Ага, а что насчет такого?:<br /></p><div class="codebox"><pre><code>
try {
	Time := GetHomeKeysFromBatya(); 
}
catch {
	return
}

GetHomeKeysFromBatya() {
	get_obj := ComObjCreate(&quot;Home.Request.1.0.1&quot;)
	get_obj.Open(&quot;GET&quot;,&quot;[BATYA.ENDPOINT]/give-me-keys-for-open-the-door-please&quot;, True)
	get_obj.Send(data)
	get_obj.WaitForResponse(2)
	return get_obj.ResponseData
}
</code></pre></div><p>На сервере:<br /></p><div class="codebox"><pre><code>
if (A_Now_Local_Time &gt; &quot;10_chasov_vechera&quot;) {
	sleep(10);
	exit;
}
</code></pre></div><p>В таком случае не будет истинного операнда, сервер оборвет соединение и сработает блок catch, который и не даст пройти дальше.</p>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Sat, 16 Jan 2021 01:06:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=144845#p144845</guid>
		</item>
	</channel>
</rss>
