- 1
- 2
- 3
<script language="javascript">
function setcookie(data['uid'])
</script>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+153
<script language="javascript">
function setcookie(data['uid'])
</script>
+158
var url="/registration/reg.php?file_photo="+src_img+"®_email="+
reg_email+"&last_name="+last_name+"&name="+encodeURIComponent(name)+
"®_phone="+encodeURIComponent(reg_phone)+"&group_user="+group_user;
$('#ajax_result').load(url, function(response, status, xhr) {
document.location.href="success.php";
});
Вот такая милая регистрация пользователя. Только вот группа пользователя указывается в запросе и не проверяется на стороне сервера.
В результате можно зарегистрироваться администратором сайта, подставив не столь уж неизвестный id группы администраторов в параметр group_user
+155
if (
(_methodName == "invoke") ||
(_methodName == "auth") ||
(_methodName == "resetAuth") ||
(_methodName == "registerMethod") ||
(_methodName == "registerAllMethods")
)
{
throw "Illegal method name " +_methodName +" - service method with this name already exist";
}
else
{
eval("ComponentClient.prototype."+_methodName+" = function (_parameters) {return this.invoke(\""+_methodName+"\", _parameters)}")
}
И там много ещё такого
+153
if (childMenus[oRow._index]) if (TransMenu.sub_indicator && oRow.lastChild.firstChild.src) {
oRow.lastChild.firstChild.src = TransMenu.dingbatOn
}
+155
var len = final_amount.length;
var final_amount_formatted = (final_amount == "" ? "0" : final_amount.substring(0,len-2) + '.' + final_amount.substring(len-2, len));
+156
attr_sel:function(tag,cn,at,vl,inv)
{
if (typeof(inv)=='undefined'){
inv=0;
}
var allT=document.getElementsByTagName(tag), allCN={}, i=0,j=0,a;
while(a=allT[i++]){
if (cn!='' && this.hasClass(a,cn))
{
if ((!inv && a.getAttribute(at)==vl)||(inv && a.getAttribute(at)!=vl))
{
allCN[j]=a;
j++;
}
}else{
if ((!inv && a.getAttribute(at)==vl)||(inv && a.getAttribute(at)!=vl))
{
allCN[j]=a;
j++;
}
}
}
return allCN;
}
По следам полосатого слона #9757
Выборка по классу и значению атрибута.
+154
selector:function(tag,cn,pr,r)
{
var allCN={}, i=0,j=0,a;
if (typeof(pr)=='undefined'){
var allT=document.getElementsByTagName(tag);
}else{
var allT=pr.getElementsByTagName(tag);
}
if (typeof(r)=='undefined'){
r=0;
}
while(a=allT[i++]){
if (this.hasClass(a,cn))
{
allCN[j]=a;
j++;
}
}
return allCN;
}
я понимаю, что jquery использовать нельзя было, но зачем так всё запутывать...
+151
if(hS.reformal.val && !h.inFrame){ // добавление виджета reformal.ru для отправки багрепортов (можно то же из настроек)
addJs(function reformal_preload(){
reformal_wdg_w = "713";
reformal_wdg_h = "460";
reformal_wdg_domain = "habrajax";
reformal_wdg_mode = 0;
reformal_wdg_title ='<a href="//userscripts.org/scripts/show/121690" target="_blank">HabrAjax</a> - чтобы сайт стал удобным';
reformal_wdg_ltitle = "БАГИ";
reformal_wdg_lfont = "";
reformal_wdg_lsize = "";
reformal_wdg_color = "#269bd1";
reformal_wdg_bcolor = "#73859e";
reformal_wdg_tcolor = "#FFFFFF";
reformal_wdg_align = "right";
reformal_wdg_charset = "utf-8";
reformal_wdg_waction = 0;
reformal_wdg_vcolor = "#559ecf";
reformal_wdg_cmline = "#d3d8df";
reformal_wdg_glcolor = "#105895";
reformal_wdg_tbcolor = "#FFFFFF";
reformal_wdg_tcolor_aw4 = "#3F4543";
reformal_wdg_bimage = "cac7b640e87a20ba02df24d613d54a1d.png";
reformal_html ='';
document.write = function(a){reformal_html +=a;};//обход doc.write
});
addJs('http://reformal.ru/tabn2v4.js?charset=utf-8' //виджет reformal.ru и его постобработчик
, hS.versionNumb
, 'MyOtziv'
, function reformal_postload(){ //загрузка после doc.write и подгонка стилей, текстов
var elem = document.createElement('DIV');
elem.id ='reformal_holder';
elem.innerHTML = reformal_html;
document.body.insertBefore(elem, document.body.childNodes[0]);
document.getElementById('myotziv_box').style.zIndex = 3001;
var reformal_butt = document.querySelector('#reformal_holder .frgtd'); //кнопка открывания виджета, |.frby
reformal_butt.style.right='-4px';reformal_butt.style.width ='17px';
reformal_butt.querySelector('img').style.position='relative';
reformal_butt.querySelector('img').style.left='-4px';
reformal_butt.style.overflow ='hidden';
reformal_butt.querySelector('a').title ='Пожелания и баги HabrAjax';
reformal_butt.querySelector('a').style.marginBottom ='3em';
var reformal_closeButt = document.querySelector('#reformal_holder .pokusijy'); //кнопка закрытия
var reformal_goto = document.createElement('DIV');
reformal_goto.innerHTML ='<a href="http://habrajax.reformal.ru/" target="_blank">смотреть всё</a>';
reformal_closeButt.parentNode.insertBefore(reformal_goto, reformal_closeButt.nextSibling);
reformal_goto.style.cssFloat ='right';
reformal_goto.style.marginRight ='10px';
var reformal_foot1 = document.querySelector('#reformal_holder .drsdtf');
reformal_foot1.style.width ='auto';
var reformal_note1 = document.createElement('DIV');
reformal_note1.innerHTML ='<span title="скопируйте после клика" onclick="prompt("скопируйте для сообщения", "Браузер: '+ navigator.userAgent +'; ОС: '+ navigator.platform +'; HabrAjax v. (@)")">При баге пишите <u title="'+navigator.userAgent+'">браузер</u>, <u>версию</u>, <u title="'+navigator.platform+'">ОС</u> и версию скрипта (@).</span>';
reformal_foot1.parentNode.appendChild(reformal_note1);
reformal_note1.style.padding ='3px 0 0 5px';
reformal_note1.style.cursor ='pointer';
});
}
if(hS.gPlus.val && !/\/sandbox/.test(location.href && !h.inFrame)){ // добавление скрипта Google+
addJs('https://apis.google.com/js/plusone.js','{"parsetags": "explicit"}', 'gapi', loadGPlus);
}
=]
+142
<script language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("Я же написал русским языком НЕ НАЖИМАТЬ !"))
// End hiding of script
// --></script><script
language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("ГЫ-ГЫ-ГЫ :) САМИ ВИНОВАТЫ !"))
// End hiding of script
// --></script><script language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("Ну , начнём !"))
// End hiding of script
// --></script><script
language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("Что Вы тут собирались увидеть ?"))
// End hiding of script
// --></script><script language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("Здесь Вы этого не увидите !"))
// End hiding of script
// --></script><script
language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("Сколько Вам лет ?"))
// End hiding of script
// --></script><script language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("И Вы всё еще так наивны :)"))
// End hiding of script
// --></script><script
language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("Вы действительно собирались запустить ракету ?."))
// End hiding of script
// --></script><script language="JavaScript"><!--
// Hide the JavaScript from older browsers
(window.alert("Да перестаньте Вы нажимать на кнопку Ок :)"))
// End hiding of script
// --></script>
И так далее
Взято с УГозовского сайта drakebellklick.3dn.ru
+199
_bc_do_compare: function (n1, n2, use_sign, ignore_last) {
var n1ptr, n2ptr; // int
var count; // int
/* First, compare signs. */
if (use_sign && (n1.n_sign != n2.n_sign)) {
if (n1.n_sign == libbcmath.PLUS) {
return (1); /* Positive N1 > Negative N2 */
} else {
return (-1); /* Negative N1 < Positive N1 */
}
}
/* Now compare the magnitude. */
if (n1.n_len != n2.n_len) {
if (n1.n_len > n2.n_len) { /* Magnitude of n1 > n2. */
if (!use_sign || (n1.n_sign == libbcmath.PLUS)) {
return (1);
} else {
return (-1);
}
} else { /* Magnitude of n1 < n2. */
if (!use_sign || (n1.n_sign == libbcmath.PLUS)) {
return (-1);
} else {
return (1);
}
}
}
if (count !== 0) {
if (n1.n_value[n1ptr] > n2.n_value[n2ptr]) { /* Magnitude of n1 > n2. */
if (!use_sign || n1.n_sign == libbcmath.PLUS) {
return (1);
} else {
return (-1);
}
} else { /* Magnitude of n1 < n2. */
if (!use_sign || n1.n_sign == libbcmath.PLUS) {
return (-1);
} else {
return (1);
}
}
}
/* They are equal up to the last part of the equal part of the fraction. */
if (n1.n_scale != n2.n_scale) {
if (n1.n_scale > n2.n_scale) {
for (count = (n1.n_scale - n2.n_scale); count > 0; count--) {
if (n1.n_value[n1ptr++] !== 0) { /* Magnitude of n1 > n2. */
if (!use_sign || n1.n_sign == libbcmath.PLUS) {
return (1);
} else {
return (-1);
}
}
}
} else {
for (count = (n2.n_scale - n1.n_scale); count > 0; count--) {
if (n2.n_value[n2ptr++] !== 0) { /* Magnitude of n1 < n2. */
if (!use_sign || n1.n_sign == libbcmath.PLUS) {
return (-1);
} else {
return (1);
}
}
}
}
}
Свежий подход к написанию бульщитов от создателей phpjs.