Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

12.04.2009, 17:24
|
|
Познающий
Регистрация: 29.03.2009
Сообщений: 87
Провел на форуме: 2185909
Репутация:
308
|
|
Как написал Dr.Z3r0 не всегда возможно использовать кавычки в SQL-запросах, например, при чтении файлов через LOAD_FILE().Можно использовать альтернативные констуркции:
'string' =
char(115)+char(116)+char(114)+char(105)+char(110)+ char(103)
'string' = 0x737472696E67
Так вот собственно скрипт для этого:
(Конечно понятно что сейчас полно инструментов для кодирования строки в char() представление, но мне ,например, так удобней, тем более скрипт 0x123-представлние заменяет на %2b, что необходимо в случае GET запроса)
Код:
<html>
<head>
<title>String Convertor for SQL-query</title>
<script language="javascript">
function baseConverter (number,ob,nb) {
number = number.toUpperCase();
var list = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var dec = 0;
for (var i = 0; i <= number.length; i++) {
dec += (list.indexOf(number.charAt(i))) * (Math.pow(ob , (number.length - i - 1)));
}
number = "";
var magnitude = Math.floor((Math.log(dec))/(Math.log(nb)));
for (var i = magnitude; i >= 0; i--) {
var amount = Math.floor(dec/Math.pow(nb,i));
number = number + list.charAt(amount);
dec -= amount*(Math.pow(nb,i));
}
return number;
}
function recode(target)
{
var s = new String(target);
var out = new String("");
var plus = "";
if (document.forms[0].replaceplus.checked)
{ plus = "%2b"; } else { plus = "+"; }
for(i=0;i<s.length;i++)
{
out += "char(" + s.charCodeAt(i) + ")";
if (i+1<s.length){ out += plus; }
}
return out;
}
function recode16(target16)
{
var s = new String(target16);
var out = new String("0x");
for(i=0;i<s.length;i++)
{
if (s.charCodeAt(i) < 10)
{
out += "0" + baseConverter(String(s.charCodeAt(i)),10,16);
}
else
{
out += baseConverter(String(s.charCodeAt(i)),10,16);
}
}
return out;
}
</script>
<style type="text/css">
BODY {
scrollbar-base-color: #252525;
scrollbar-arrow-color: #bbbb88;
COLOR: #e4e4e4;
margin: 0;
font-family: Verdana;
font-size: 13px;
background-color: #444444;
}
td {
font-family: Verdana;
COLOR: #e4e4e4;
font-size: 13px;
}
SELECT {
FONT-FAMILY: Verdana;
FONT-SIZE: 10px;
COLOR: #e4e4e4;
font-weight: bold;
BACKGROUND-COLOR: #444444;
}
TEXTAREA, {
FONT-SIZE: 13px;
FONT-FAMILY: Verdana;
COLOR: #EEEEEE;
BACKGROUND-COLOR: #252525;
}
.days {
FONT-FAMILY: Verdana;
border : none;
FONT-SIZE: 10px;
COLOR: #e4e4e4;
BACKGROUND-COLOR: #222222;
}
.bginput {
FONT-SIZE: 11px;
FONT-FAMILY: Verdana;
font-weight: bold;
COLOR: #EEEEcc;
BACKGROUND-COLOR: #252525;
}
A:link, A:visited, A:active {
COLOR: #e2e5cc;
text-decoration: none;
}
A:hover {
COLOR: #FFffcc;
}
.thtcolor {
COLOR: #f5f5f5;
}
.bright {
BACKGROUND-COLOR: #dddddd;
padding-bottom : 5px;
padding-left : 5px;
padding-right : 5px;
padding-top : 5px;
FONT-SIZE: 11px;
}
.qu {
BACKGROUND-COLOR: #3b3b3b;
border : thin inset;
margin-bottom : 5px;
margin-left : 15px;
margin-right : 5px;
margin-top : 5px;
padding-bottom : 5px;
padding-left : 5px;
padding-right : 5px;
padding-top : 5px;
border-width : 1px 1px 1px 1px;
}
</style>
</head>
<body>
<form>
<table border=0 cellpadding=2>
<tr><td align=center>source</td></tr>
<tr><td align=center><textarea name="_in" cols=80 rows=7></textarea></td></tr>
<tr><td align=center>char(123)-like result. <input type=checkbox name="replaceplus"> Replace "+" with "%2b"</td></tr>
<tr><td align=center><textarea name="_out" cols=80 rows=7></textarea></td></tr>
<tr><td align=center>0x0123-like result</td></tr>
<tr><td align=center><textarea name="_out16" cols=80 rows=7></textarea></td></tr>
<tr><td align=center><input type="button" onClick="document.forms[0]._out.value=recode(document.forms[0]._in.value); document.forms[0]._out16.value=recode16(document.forms[0]._in.value);" value=" encode "></td></tr>
</table>
</form>
</body>
</html>
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|