interface ClientHandler {
void blockUser(User user);
void unblockUser(User user);
}
public final class ClientHandlerImpl implements ClientHandler {
public void blockUser(User user) {
// Логика блокирования пользователя
}
public void unblockUser(User user) {
// Логика разблокирования пользователя
}
}
public final class ClientHandlerLoggingDecorator implements ClientHandler {
private final ClientHandler handler;
public ClientHandlerLoggingDecorator(final ClientHandler handler) {
this.handler = handler;
}
public void blockUser(User user) {
Log.d("User " + user.getName() + " blocked!")
handler.blockUser(user);
}
public void unblockUser(User user) {
Log.d("User " + user.getName() + " unblocked!")
handler.unblockUser(user);
}
}
public final class ClientHandlerFactory {
public static ClientHandler getClientHandler() {
return new ClientHandlerLoggingDecorator(new ClientHandler());
}
}
SELECT * FROM news WHERE link = helloworld
Если я правильно понял, нужно заменить Laptinius на что-то другое? Тогда делается очень просто. Откройте exe-шник каким-нибудь hex-редактором и найдите смещение этой строки. Перед скачиванием создавайте копию этого файла и по этому смещению пишите другую строку.
Или, чтобы не было проблем с случае обновления exe-шника, используйте не смещение, а сканируйте файл в поисках этой строки. Будет совсем хорошо, если строка будет длинной и уникальной, типа Wai3AhKukaiQuai1.
Выше товарищ Hint корректно ответил - самый простой способ это дописывать строку в конец файла. Я могу добавить что для этой задачи есть чудесныe модули для nginx, к примеру HttpAdditionModule или HttpEchoModule
Также популярен способ выдачи .msi файла вместо exe. MSI тоже исполняемый под виндой, но в нём зашиты текстовые блоки которые проще изменять "на лету". Но это в любом случае сложней чем первый способ.
Если в вашем экзешнике зашита проверка целостности тогда нужно писать скрипт который будет склеивать некий служебный экзешник (чья задача только в распаковке целевого файла и передаче переменной) с переменной и собственно полезным экзешником. Но это уже и проблемы с некоторыми антивирусами, и посложней в реализации.
К "любознательности" этот вопрос не имеет отношения. А думать, что это каким-либо образом относится к SQL - прямая дорога к инъекции.
А имеет - к валидации данных и, частично, к юзабилити и СЕО.
Пробел - символ нерелевантный, его могут тримать автоматом. Так что буду говорить о "частично валидных" урлах в целом. Учитывая, что урлы руками сейчас никто не набирает, а поисковики могут плохо относиться к существованию одной и той же страницы с разными урлами - я бы не пропускал, отдавал 404.
<?xml version="1.0" encoding="utf-8"?>
<request>
<request-type>pay</request-type>
<terminal-id>1234</terminal-id> -- ид магазина
<extra name="password">***</extra> -- пароль
<auth count="1" to-amount="1.00">
<payment>
<transaction-number>50</transaction-number> --ид вашего перевода
<from>
<ccy>643</ccy>
</from>
<to>
<amount>1.00</amount> --сумма
<ccy>643</ccy>
<service-id>99</service-id>
<account-number>79168888888</account-number> --кому
</to>
<extra name="comment">test</extra>
</payment>
</auth>
<extra name="client-software">API example v1.0</extra>
</request>
<response>
<result-code fatal="false">0</result-code>
<payment status='50' txn_id='409' transaction-number='50' result-code='0' final-status='false' fatal-error='false' txn-date='11.10.2013 16:59:00' >
<from>
<amount>1.00</amount>
<ccy>643</ccy>
</from>
<to>
<service-id>99</service-id>
<amount>1.00</amount>
<ccy>643</ccy>
<account-number>79168888888</account-number>
</to>
</payment>
<balances>
<balance code="643">00.49</balance>
</balances>
<f>
</f>
</response>