private void ServerIng() { while (run) { //服务接收处理 Socket QS; QS = qTcpListener.AcceptSocket(); Byte[] Stream = new Byte[1024]; QS.Receive(Stream); string save = System.Text.Encoding.UTF8.GetString(Stream); CheckOutDate(save); switch (parameter[0]) { case "1": //该用户上线 TrafficMsg.PostMessage(ShareDate.MainFormHand, 500, 1, 0); Login.SendMsgToGetOnlineInf(); //获取新的在线用户列表 System.Threading.Thread ShowOnline = new Thread(new ThreadStart(ShowInfWin)); ShowOnline.Start(); break; case "2": //接收到来自用户的消息;格式为(标识;源用户;消息内容) TrafficMsg.PostMessage(ShareDate.MainFormHand, 500, 2, 0); //发送播放声音提示消息 System.Threading.Thread SM = new Thread(new ThreadStart(ShowMsg)); SM.Start(); //创建聊天窗口 break; default: //发送错误参数 break; } QS.Close(); } }
/// <summary> /// Http POST Request /// </summary> /// <param name="url">(string) POST url</param> /// <param name="cType">(ContentType) form encoding type</param> /// <param name="enc">(Encoding) text endcoding</param> /// <param name="parameters">(string []) an array of parameters to be sent with POST request</param> /// <param name="values">(string []) an array of parameter values to be sent with POST request</param> /// <param name="requestHeaders">(ArrayList) array list of request header values (name: value) format</param> /// <returns>(HttpWebResponse) object</returns> public static HttpWebResponse Post(string url, ContentType cType, Encoding enc, string[] parameters, string[] values, ArrayList requestHeaders) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); if (requestHeaders != null) { foreach (string header in requestHeaders) { request.Headers.Add(header); } } string data = QS.AddParams(null, parameters, values); byte[] buffer = enc.GetBytes(data); request.ContentLength = buffer.Length; request.Method = "POST"; request.ContentType = GetContentType(cType); Stream postStream = request.GetRequestStream(); postStream.Write(buffer, 0, buffer.Length); postStream.Close(); return((HttpWebResponse)request.GetResponse()); }
public void Should_Stringify_Person_Obj() { var person = new Person("Harry", 20); string query = QS.Stringify(person); query.Should().Be("Name=Harry&Age=20"); }
/// <summary> /// 修改 /// </summary> public override void EntityUpdate() { QSRule rule = new QSRule(); QS entity = EntityGet(); rule.RUpdate(entity); }
/// <summary> /// 获得实体 /// </summary> /// <returns></returns> private QS EntityGet() { QS entity = new QS(); entity.ID = HTDataID; return(entity); }
/// <summary> /// 删除 /// </summary> /// <param name="p_Entity">实体类</param> /// <returns>操作影响的记录行数</returns> public override int Delete(BaseEntity p_Entity) { try { QS MasterEntity = (QS)p_Entity; if (MasterEntity.ID == 0) { return(0); } //删除主表数据 string Sql = ""; Sql = "DELETE FROM WH_QS WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID); //执行 int AffectedRows = 0; if (!this.sqlTransFlag) { AffectedRows = this.ExecuteNonQuery(Sql); } else { AffectedRows = sqlTrans.ExecuteNonQuery(Sql); } return(AffectedRows); } catch (BaseException E) { throw new BaseException(E.Message, E); } catch (Exception E) { throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBDelete), E); } }
/// <summary> /// 新增 /// </summary> public override int EntityAdd() { QSRule rule = new QSRule(); QS entity = EntityGet(); rule.RAdd(entity); return(entity.ID); }
public void Should_Stringify_Nested_Obj() { var father = new Father("Harry", 20); father.Child = new Person("Bob", 5); string query = QS.Stringify(father); query.Should().Be("Child.Name=Bob&Child.Age=5&Name=Harry&Age=20"); }
private static void KillSteal() { Obj_AI_Hero target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target != null) { double igniteDmg = Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); double QHDmg = Player.GetSpellDamage(target, SpellSlot.Q, 0); double QSDmg = Player.GetSpellDamage(target, SpellSlot.Q, 1); double WHDmg = Player.GetSpellDamage(target, SpellSlot.W); double WSDmg = Player.GetSpellDamage(target, SpellSlot.W, 1); if (Config.Item("UseIgnite").GetValue <bool>() && IgniteSlot != SpellSlot.Unknown && Player.Spellbook.CanUseSpell(IgniteSlot) == SpellState.Ready) { if (igniteDmg >= target.Health) { Player.Spellbook.CastSpell(IgniteSlot, target); } } if (Q.IsReady() && Player.Distance(target) <= Q.Range && target != null && Config.Item("UseQKs").GetValue <bool>() && HumanForm) { if (target.Health <= QHDmg) { Q.Cast(target); } } if (QS.IsReady() && Player.Distance(target) <= QS.Range && target != null && Config.Item("UseQKsSpider").GetValue <bool>() && SpiderForm) { if (target.Health <= QSDmg) { Q.Cast(target); } } if (W.IsReady() && Player.Distance(target) <= W.Range && target != null && Config.Item("UseWKs").GetValue <bool>() && HumanForm) { if (target.Health <= WHDmg) { W.Cast(target); } } if (W.IsReady() && Player.Distance(target) <= WS.Range && target != null && Config.Item("UseWKsSpider").GetValue <bool>() && SpiderForm) { if (target.Health <= WSDmg) { W.Cast(target); } } } }
public void Should_Stringify_Object_With_Array() { var fruitsBasket = new FruitsBasket(); fruitsBasket.Fruits = new string[] { "Orange", "Lemon" }; string query = QS.Stringify(fruitsBasket); query.Should().Be("Fruits[0]=Orange&Fruits[1]=Lemon"); }
public void Should_Stringify_Nested_Obj_With_Array() { var mother = new Mother("Angela", 32); mother.Children = new Person[] { new Person("Bob", 5), new Person("Ste", 6), }; string query = QS.Stringify(mother); var expected = "Children[0][Name]=Bob&Children[0][Age]=5&Children[1][Name]=Ste&Children[1][Age]=6&Name=Angela&Age=32"; query.Should().Be(expected); }
/// <summary> /// 检验字段值是否已存在 /// </summary> /// <param name="p_TableName">表名</param> /// <param name="p_FieldName">字段名</param> /// <param name="p_FieldValue">字段值</param> /// <param name="p_KeyField">主键(只考虑主键为ID的情况)</param> /// <param name="p_KeyValue">主键值</param> /// <param name="p_sqlTrans"></param> /// <returns></returns> private bool CheckFieldValueIsExist(BaseEntity p_BE, string p_FieldName, string p_FieldValue, IDBTransAccess p_sqlTrans) { QS entity = (QS)p_BE; bool ret = false; string sql = string.Format(" SELECT {0} FROM {1} WHERE 1=1 AND {0}={2} AND {3}<>{4}", p_FieldName, QS.TableName, SysString.ToDBString(p_FieldValue), "ID", entity.ID); DataTable dt = p_sqlTrans.Fill(sql); if (dt.Rows.Count != 0) { ret = true; } return(ret); }
public void Should_Stringify_Obj_With_Prefix() { var room = new RoomParameter(); room.Adt = 5; room.Chd = 2; room.ChdAges = new List <short> { 5, 6 }; room.Snr = 1; string query = QS.Stringify(room, "room"); var expected = "room.Snr=1&room.Adt=5&room.Chd=2&room.ChdAges[0]=5&room.ChdAges[1]=6"; query.Should().Be(expected); }
private static void JungleFarm() { List <Obj_AI_Base> mobs = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, W.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.Health); if (Config.Item("UseQFarm").GetValue <bool>()) { foreach (Obj_AI_Base minion in mobs) { if (HumanForm) { if (QS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= Q.Range) { Q.Cast(minion); } if (W.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= W.Range) { W.Cast(); } if (!Q.IsReady() && !W.IsReady()) { R.Cast(); } } } if (!HumanForm) { foreach (Obj_AI_Base minion in mobs) { if (QS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= QS.Range) { QS.Cast(minion); } if (WS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= WS.Range) { WS.Cast(); } if (ES.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= ES.Range && Config.Item("UseSpiderEFarm").GetValue <bool>()) { ES.Cast(minion); } } } } }
public void Should_Stringify_Array_With_Prefif() { var rooms = new List <RoomParameter>(); var room = new RoomParameter(); room.Adt = 5; room.Chd = 2; room.ChdAges = new List <short> { 5, 6 }; room.Snr = 1; rooms.Add(room); rooms.Add(room); string query = QS.Stringify(rooms, "rooms"); var expected = "rooms[0][Snr]=1&rooms[0][Adt]=5&rooms[0][Chd]=2&rooms[0][ChdAges][0]=5&rooms[0][ChdAges][1]=6&rooms[1][Snr]=1&rooms[1][Adt]=5&rooms[1][Chd]=2&rooms[1][ChdAges][0]=5&rooms[1][ChdAges][1]=6"; query.Should().Be(expected); }
public void Should_Stringify_Array() { var rooms = new List <RoomParameter>(); var room = new RoomParameter(); room.Adt = 5; room.Chd = 2; room.ChdAges = new List <short> { 5, 6 }; room.Snr = 1; rooms.Add(room); rooms.Add(room); string query = QS.Stringify(rooms); var expected = "0[Snr]=1&0[Adt]=5&0[Chd]=2&0[ChdAges][0]=5&0[ChdAges][1]=6&1[Snr]=1&1[Adt]=5&1[Chd]=2&1[ChdAges][0]=5&1[ChdAges][1]=6"; query.Should().Be(expected); }
/// <summary> /// 删除 /// </summary> /// <param name="p_BE">要删除的实体</param> /// <param name="sqlTrans">事务类</param> public void RDelete(BaseEntity p_BE, IDBTransAccess sqlTrans) { try { this.CheckCorrect(p_BE); QS entity = (QS)p_BE; QSCtl control = new QSCtl(sqlTrans); control.Delete(entity); } catch (BaseException) { throw; } catch (Exception E) { throw new BaseException(E.Message); } }
/// <summary> /// Http GET Request /// </summary> /// <param name="url">(string) GET url</param> /// <param name="enc">(Encoding) text encoding</param> /// <param name="parameters">(string []) an array of parameters to be sent with GET request</param> /// <param name="values">(string []) an array of parameter values to be send with GET request</param> /// <param name="requestHeaders">(ArrayList) array list of requets header values (name: value) format</param> /// <returns>(HttpWebResponse) object</returns> public static HttpWebResponse Get(string url, Encoding enc, string[] parameters, string[] values, ArrayList requestHeaders) { string data = QS.AddParams(null, parameters, values); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + data); if (requestHeaders != null) { foreach (string header in requestHeaders) { request.Headers.Add(header); } } request.Method = "GET"; return((HttpWebResponse)request.GetResponse()); }
/// <summary> /// 新增(传入事务处理) /// </summary> /// <param name="p_BE">要新增的实体</param> /// <param name="sqlTrans">事务类</param> public void RAdd(BaseEntity p_BE, IDBTransAccess sqlTrans) { try { this.CheckCorrect(p_BE); QS entity = (QS)p_BE; QSCtl control = new QSCtl(sqlTrans); entity.ID = (int)EntityIDTable.GetID((long)SysEntity.WH_QS, sqlTrans); control.AddNew(entity); } catch (BaseException) { throw; } catch (Exception E) { throw new BaseException(E.Message); } }
private static void Farm() { Obj_AI_Hero target = TargetSelector.GetTarget(QS.Range, TargetSelector.DamageType.Magical); List <Obj_AI_Base> allminions = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health); if (Config.Item("UseQFarm").GetValue <bool>()) { foreach (Obj_AI_Base minion in allminions) { if (HumanForm) { if (QS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= Q.Range) { Q.Cast(minion); } if (W.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= W.Range) { W.Cast(); } R.Cast(); } } foreach (Obj_AI_Base minion in allminions) { if (QS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= QS.Range) { QS.Cast(minion); } if (WS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= 125) { WS.Cast(); } if (ES.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= ES.Range && Config.Item("UseSpiderEFarm").GetValue <bool>()) { ES.Cast(minion); } } } }
/// <summary> /// 获得实体 /// </summary> /// <returns></returns> private QS EntityGet() { QS entity = new QS(); entity.ID = HTDataID; entity.SelectByID(); entity.VendorID = SysConvert.ToString(drpVendorID.EditValue); entity.ItemCode = txtItemCode.Text.Trim(); entity.GoodsCode = txtGoodsCode.Text.Trim(); entity.ColorNum = txtColorNum.Text.Trim(); entity.ColorName = txtColorName.Text.Trim(); entity.Qty = SysConvert.ToDecimal(txtQty.Text.Trim()); entity.SinglePrice = SysConvert.ToDecimal(txtSinglePrice.Text.Trim()); entity.Amount = SysConvert.ToDecimal(txtAmount.Text.Trim()); entity.Remark = txtRemark.Text.Trim(); entity.FormDate = txtFormDate.DateTime; entity.OrderFormNo = txtOrderFormNo.Text.Trim(); entity.Remark2 = txtRemark2.Text.Trim(); entity.Unit = SysConvert.ToString(drpUnit.EditValue); return(entity); }
private static void JungleFarm() { var target = SimpleTs.GetTarget(QS.Range, SimpleTs.DamageType.Magical); var mobs = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, W.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.Health); if (Config.Item("UseQFarm").GetValue <bool>()) { foreach (var minion in mobs) { if (HumanForm) { if (QS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= Q.Range) { Q.Cast(minion); } if (W.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= W.Range) { W.Cast(); } R.Cast(); } } foreach (var minion in mobs) { if (QS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= QS.Range) { QS.Cast(minion); } if (WS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= 125) { WS.Cast(); } if (ES.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= ES.Range && Config.Item("UseSpiderEFarm").GetValue <bool>()) { ES.Cast(minion); } } } }
private static void Farm() { List <Obj_AI_Base> allminions = MinionManager.GetMinions(Player.ServerPosition, Q.Range); if (Config.Item("UseQFarm").GetValue <bool>()) { foreach (Obj_AI_Base minion in allminions) { if (HumanForm) { if (QS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= Q.Range) { Q.Cast(minion); } if (W.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= W.Range) { W.Cast(); } R.Cast(); } if (!HumanForm) { if (QS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= QS.Range) { QS.Cast(minion); } if (WS.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= WS.Range) { WS.Cast(); } if (ES.IsReady() && minion.IsValidTarget() && Player.Distance(minion) <= ES.Range && Config.Item("UseSpiderEFarm").GetValue <bool>()) { ES.Cast(minion); } } } } }
private static void KillSteal() { var target = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical); var igniteDmg = Damage.GetSummonerSpellDamage(Player, target, Damage.SummonerSpell.Ignite); var QHDmg = Damage.GetSpellDamage(Player, target, SpellSlot.Q); var WDmg = Damage.GetSpellDamage(Player, target, SpellSlot.W); if (target != null && Config.Item("UseIgnite").GetValue <bool>() && IgniteSlot != SpellSlot.Unknown && Player.SummonerSpellbook.CanUseSpell(IgniteSlot) == SpellState.Ready) { if (igniteDmg > target.Health) { Player.SummonerSpellbook.CastSpell(IgniteSlot, target); } } if (Q.IsReady() && Player.Distance(target) <= Q.Range && target != null && Config.Item("UseQKs").GetValue <bool>()) { if (target.Health <= QHDmg) { Q.Cast(target); } } if (QS.IsReady() && Player.Distance(target) <= QS.Range && target != null && Config.Item("UseQKs").GetValue <bool>()) { if (target.Health <= QHDmg) { Q.Cast(target); } } if (W.IsReady() && Player.Distance(target) <= W.Range && target != null && Config.Item("UseWKs").GetValue <bool>() && HumanForm) { if (target.Health <= WDmg) { W.Cast(target); } } }
/// <summary> /// 设置 /// </summary> public override void EntitySet() { QS entity = new QS(); entity.ID = HTDataID; bool findFlag = entity.SelectByID(); drpVendorID.EditValue = entity.VendorID; txtFormDate.DateTime = entity.FormDate; txtItemCode.Text = entity.ItemCode.ToString(); txtGoodsCode.Text = entity.GoodsCode.ToString(); txtColorNum.Text = entity.ColorNum.ToString(); txtColorName.Text = entity.ColorName.ToString(); txtQty.Text = entity.Qty.ToString(); txtSinglePrice.Text = entity.SinglePrice.ToString(); txtAmount.Text = entity.Amount.ToString(); txtRemark.Text = entity.Remark.ToString(); txtOrderFormNo.Text = entity.OrderFormNo.ToString(); txtRemark2.Text = entity.Remark2; drpUnit.EditValue = entity.Unit; if (!findFlag) { } }
private static void Combo() { var target = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical); Orbwalker.SetAttack((!Q.IsReady() || E.IsReady() || W.IsReady())); if (target != null) { if (HumanForm) { // Human Rotation if (Player.Distance(target) <= Q.Range && Config.Item("UseQHuman").GetValue <bool>() && Q.IsReady()) { Q.Cast(target); } if (Player.Distance(target) <= W.Range && Config.Item("UseWHuman").GetValue <bool>() && W.IsReady()) { W.Cast(target); } if (Player.Distance(target) <= E.Range && Config.Item("UseEHuman").GetValue <bool>() && E.IsReady()) { E.Cast(target); } if (!Q.IsReady() && !W.IsReady() && !E.IsReady() && Player.Distance(target) <= 750 && Config.Item("UseR").GetValue <bool>()) { R.Cast(); } if (!Q.IsReady() && !W.IsReady() && Player.Distance(target) <= 750 && Config.Item("UseQHuman").GetValue <bool>()) { R.Cast(); } } // Spider Rotation if (SpiderForm) { if (Player.Distance(target) <= QS.Range && Config.Item("UseQSpider").GetValue <bool>() && QS.IsReady()) { QS.Cast(target); } if (Player.Distance(target) <= 140 && Config.Item("UseWSpider").GetValue <bool>() && WS.IsReady()) { WS.Cast(); } if (Player.Distance(target) <= ES.Range && Player.Distance(target) > QS.Range && Config.Item("UseESpider").GetValue <bool>() && ES.IsReady()) { ES.Cast(target); } if (Player.Distance(target) > QS.Range && !ES.IsReady() && R.IsReady() && Player.Distance(target) <= 1075 && Config.Item("UseR").GetValue <bool>()) { R.Cast(); } if (!QS.IsReady() && Player.Distance(target) >= 125 && !ES.IsReady() && R.IsReady() && Player.Distance(target) <= 1075 && Config.Item("UseR").GetValue <bool>()) { R.Cast(); } if (ES.IsReady() && Player.Distance(target) > QS.Range && Config.Item("UseESpider").GetValue <bool>()) { ES.Cast(target); } } } }
private void QQServerIng() { try { while (ServerRun) { Socket QS; QS = qTcpListener.AcceptSocket(); string RemoteEndPoint = QS.RemoteEndPoint.ToString(); Byte[] Stream = new Byte[1024]; QS.Receive(Stream); string save = System.Text.Encoding.UTF8.GetString(Stream); string Sendmsg = ""; CheckOutDate(save); switch (parameter[0]) { case "1": //验证用户登陆消息 if (opDate.qUserLogin(parameter[1], parameter[2])) { Sendmsg = "1"; XmlOperate.AddOnlineUser(parameter[1], RemoteEndPoint); } else { Sendmsg = "0"; } SendMsg(QS, Sendmsg); break; case "2": //发送好友分组资料请求 XmlOperate friend = new XmlOperate(); string FileUrl = ""; while ((FileUrl = friend.MakeFriendXml(parameter[1])) == "-1") { } SendFile(QS, FileUrl); XmlFileOp.DelThisFile(FileUrl); break; case "3": //发送群组资料请求 break; case "4": //发送查找结果 break; case "5": //注册用户 break; case "6": //请求在线用户列表 SendFile(QS, "onlineinf\\onLine.xml"); break; case "7": //添加好友 消息格式为:类型号;好友拥有者,好友号码 Sendmsg = opDate.AddFriend(parameter[1].Trim(), parameter[2].Trim()); SendMsg(QS, Sendmsg); break; default: //发送错误参数 break; } QS.Close(); } } catch { } }
public static extern uint MsgWaitForMultipleObjects( uint nCount, IntPtr[] pHandles, bool bWaitAll, uint dwMilliseconds, QS dwWakeMask );
private static void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); Orbwalker.SetAttack((!Q.IsReady() || !E.IsReady() || !W.IsReady())); if (target != null) { if (HumanForm) { // Human Rotation if (Player.Distance(target) <= Q.Range && Config.Item("UseQHuman").GetValue <bool>() && Q.IsReady()) { Q.Cast(target); } if (Player.Distance(target) <= W.Range && Config.Item("UseWHuman").GetValue <bool>() && W.IsReady()) { W.Cast(target); } if (Player.Distance(target) <= E.Range && Config.Item("UseEHuman").GetValue <bool>() && E.IsReady()) { var pred = E.GetPrediction(target); E.Cast(pred.CastPosition); } if (!Q.IsReady() && !W.IsReady() && !E.IsReady() && Player.Distance(target) <= 750 && Config.Item("UseR").GetValue <bool>()) { R.Cast(); } if (!Q.IsReady() && !W.IsReady() && Player.Distance(target) <= 750 && Config.Item("UseQHuman").GetValue <bool>()) { R.Cast(); } } // Spider Rotation if (SpiderForm) { if (Player.Distance(target) <= QS.Range && Config.Item("UseQSpider").GetValue <bool>() && QS.IsReady()) { QS.Cast(target); } if (Player.Distance(target) <= 140 && Config.Item("UseWSpider").GetValue <bool>() && WS.IsReady()) { WS.Cast(); } if (Player.Distance(target) <= ES.Range && Player.Distance(target) > QS.Range && Config.Item("UseESpider").GetValue <bool>() && ES.IsReady()) { ES.Cast(target); } if (Player.Distance(target) > QS.Range && !ES.IsReady() && R.IsReady() && Player.Distance(target) <= 1075 && Config.Item("UseR").GetValue <bool>()) { R.Cast(); } if (!QS.IsReady() && Player.Distance(target) >= 125 && !ES.IsReady() && R.IsReady() && Player.Distance(target) <= 1075 && Config.Item("UseR").GetValue <bool>()) { R.Cast(); } if (ES.IsReady() && Player.Distance(target) > QS.Range && Config.Item("UseESpider").GetValue <bool>()) { ES.Cast(target); } } } }
public void gtkalidatePageRequest() { string[] LDAParr = { "\")(", "=*", "%3d%2a", ")(", "*!", "*|", "@*", "*|", "*/", "/*", "%3D%2A", "/*", "%2F%2F", "%21", "%28", "%28", "%29", "%2A", "~!", "~@", "~#", "CURSOR", "KILL", "DBCC", "@variable", "sp_helptext", "sp_exec", "~$", "~%", "~^", "~&", "~*", "~(", "~)", "~<", "~>", "~?", "~`", "~'", "~=", "~:", "~;", "~/", "~-", "~+", "~|", "~{", "~}", "~[", "~]", "!~", "!@", "!#", "!$", "!%", "!^", "!&", "!*", "!(", "!)", "!<", "!>", "!?", "!`", "!'", "!=", "!:", "!;", "!/", "!-", "!+", "!|", "!{", "!}", "![", "!]", "@~", "@!", "@#", "@$", "@%", "@^", "@&", "@*", "@(", "@)", "@<", "@>", "@?", "@`", "@'", "@=", "@:", "@;", "@/", "@-", "@+", "@{", "@}", "@[", "@]", "#~", "#!", "#$", "#%", "#&", "#*", "#(", "#)", "#<", "#>", "#?", "#`", "#'", "#=", "#:", "#;", "#/", "#-", "#+", "#{", "#}", "#[", "#]", "$~", "$!", "$@", "$#", "$%", "$^", "$&", "$*", "$(", "$)", "$<", "$>", "$?", "$`", "$'", "$=", "$:", "$;", "$/", "$-", "$+", "$|", "${", "$}", "$[", "$]", "%~", "%!", "%@", "%#", "%$", "%^", "%&", "%*", "%(", "%)", "%<", "%>", "%?", "%`", "%'", "%=", "%:", "%;", "%/", "%-", "%+", "%|", "%{", "%}", "%[", "%]", "^~", "^!", "^@", "^#", "^$", "^%", "^&", "^*", "^(", "^)", "^<", "^>", "^?", "^`", "^'", "^=", "^:", "^;", "^/", "^-", "^+", "^|", "^{", "^}", "^[", "^]", "&~", "&!", "&@", "&#", "&$", "&%", "&^", "&*", "&(", "&)", "&<", "&>", "&?", "&`", "&'", "&=", "&:", "&;", "&/", "&-", "&+", "&|", "&{", "&}", "&[", "&]", "*~", "*!", "*@", "*#", "*$", "*%", "*^", "*&", "*(", "*)", "*<", "*>", "*?", "*`", "*'", "*=", "*:", "*;", "*/", "*-", "*+", "*|", "*{", "*}", "*[", "*]", "(~", "(!", "(@", "(#", "($", "(%", "(^", "(&", "(*", "()", "(<", "(>", "(?", "(`", "('", "(=", "(:", "(;", "(/", "(-", "(+", "(|", "({", "(}", "([", "(]", ")~", ")!", ")@", ")#", ")$", ")%", ")^", ")&", ")*", ")(", ")<", ")>", ")?", ")`", ")'", ")=", "):", ");", ")/", ")-", ")+", ")|", "){", ")}", ")[", ")]", "<~", "<!", "<@", "<#", "<$", "<%", "<^", "<&", "<*", "<(", "<)", "<?", "<`", "<'", "<=", "<:", "<;", "</", "<-", "<+", "<|", "<{", "<}", "<[", "<]", ">~", ">!", ">@", ">#", ">$", ">%", ">^", ">&", ">*", ">(", ">)", "><", ">?", ">`", ">'", ">=", ">:", ">;", ">/", ">-", ">+", ">|", ">{", ">}", ">[", ">]", "?~", "?!", "?@", "?#", "?$", "?%", "?^", "?&", "?*", "?(", "?)", "?<", "?>", "?`", "?'", "?=", "?:", "?;", "?/", "?-", "?+", "?|", "?{", "?}", "?[", "?]", "`~", "`!", "`@", "`#", "`$", "`%", "`^", "`&", "`*", "`(", "`)", "`<", "`>", "`?", "`'", "`=", "`:", "`;", "`/", "`-", "`+", "`|", "`{", "`}", "`[", "`]", "'~", "'!", "'@", "'#", "'$", "'%", "'^", "'&", "'*", "'(", "')", "'<", "'>", "'?", "'`", "'=", "':", "';", "'/", "'-", "'+", "'|", "'{", "'}", "'[", "']", "=~", "=!", "=@", "=#", "=$", "=^", "=*", "=(", "=)", "=<", "=>", "=?", "=`", "='", "=:", "=;", "=-", "=+", "=|", "={", "=}", "=[", "=]", ":~", ":!", ":@", ":#", ":$", ":%", ":^", ":&", ":*", ":(", ":)", ":<", ":>", ":?", ":`", ":'", ":=", ":;", ":-", ":+", ":|", ":{", ":}", ":[", ":]", ";~", ";!", ";@", ";#", ";$", ";%", ";^", ";&", ";*", ";(", ";)", ";<", ";>", ";?", ";`", ";'", ";=", ";:", ";/", ";-", ";+", ";|", ";{", ";}", ";[", ";]", "/~", "/!", "/@", "/#", "/$", "/^", "/&", "/*", "/(", "/)", "/<", "/>", "/?", "/`", "/'", "/=", "/:", "/;", "/-", "/+", "/|", "/{", "/}","/[", "/]", "-~", "-!", "-$", "-%", "-^", "-&", "-*", "-(", "-)", "-<", "->", "-?", "-`", "-'", "-=", "-:", "-;", "-/", "-+", "-{", "-}", "-[", "-]", "+~", "+!", "+@", "+#", "+$", "+%", "+^", "+&", "+*", "+(", "+)", "+<", "+>", "+?", "+`", "+'", "+=", "+:", "+;", "+/", "+-", "+|", "+{", "+}", "+[", "+]", "|~", "|!", "|$", "|%", "|*", "|(", "|)", "|<", "|>", "|?", "|`", "|'", "|=", "|:", "|;", "|/", "|-", "|+", "|{", "|}", "|[", "|]", "{~", "{!", "{@", "{#", "{$", "{%", "{^", "{&", "{*", "{(", "{)", "{<", "{>", "{?", "{`", "{'", "{=", "{:", "{;", "{/", "{-", "{+", "{|", "{}", "{[", "{]", "}~", "}!", "}@", "}#", "}$", "}%", "}^", "}&", "}*", "}(", "})", "}<", "}>", "}?", "}`", "}'", "}=", "}:", "};", "}/", "}-", "}+", "}|", "}{", "}[", "}]", "[~", "[!", "[@", "[#", "[$", "[%", "[^", "[&", "[*", "[(", "[)", "[<", "[>", "[?", "[`", "['", "[=", "[:", "[;", "[/", "[-", "[+", "[|", "[{", "[}", "[]", "]~", "]!", "]@", "]#", "]$", "]%", "]^", "]&", "]*", "](", "])", "]<", "]>", "]?", "]`", "]'", "]=", "]:", "];", "]/", "]-", "]+", "]|", "]{", "]}", "][" }; string[] SQLArr = { "'OR'", "'AND'", "'='", "\"", "%22", "TRUNCATE", "--", "SHUTDOWN", "TRUNCATE", "UPDATE", "exec", "declare@", "select@", "'", "--", "CURSOR", "KILL", "DBCC", "@variable", "sp_helptext", "sp_exec", "union", "drop", "exec", ">", "<", ",", "insert", "procedure", "orderby", "asc", "desc", "delete", "update", "distinct", "truncate", "replace", "handler", "\\2A", "\\28", "\\29", "\\5C", "\00", "~!", "~@", "~#", "~$", "~%", "~^", "~&", "~*", "~(", "~)", "~<", "~>", "~?", "~`", "~'", "~=", "~:", "~;", "~/", "~-", "~+", "~|", "~{", "~}", "~[", "~]", "!~", "!@", "!#", "!$", "!%", "!^", "!&", "!*", "!(", "!)", "!<", "!>", "!?", "!`", "!'", "!=", "!:", "!;", "!/", "!-", "!+", "!|", "!{", "!}", "![", "!]", "@~", "@!", "@#", "@$", "@%", "@^", "@&", "@*", "@(", "@)", "@<", "@>", "@?", "@`", "@'", "@=", "@:", "@;", "@/", "@-", "@+", "@{", "@}", "@[", "@]", "#~", "#!", "#$", "#%", "#&", "#*", "#(", "#)", "#<", "#>", "#?", "#`", "#'", "#=", "#:", "#;", "#/", "#-", "#+", "#{", "#}", "#[", "#]", "$~", "$!", "$@", "$#", "$%", "$^", "$&", "$*", "$(", "$)", "$<", "$>", "$?", "$`", "$'", "$=", "$:", "$;", "$/", "$-", "$+", "$|", "${", "$}", "$[", "$]", "%~", "%!", "%@", "%#", "%$", "%^", "%&", "%*", "%(", "%)", "%<", "%>", "%?", "%`", "%'", "%=", "%:", "%;", "%/", "%-", "%+", "%|", "%{", "%}", "%[", "%]", "^~", "^!", "^@", "^#", "^$", "^%", "^&", "^*", "^(", "^)", "^<", "^>", "^?", "^`", "^'", "^=", "^:", "^;", "^/", "^-", "^+", "^|", "^{", "^}", "^[", "^]", "&~", "&!", "&@", "&#", "&$", "&%", "&^", "&*", "&(", "&)", "&<", "&>", "&?", "&`", "&'", "&=", "&:", "&;", "&/", "&-", "&+", "&|", "&{", "&}", "&[", "&]", "*~", "*!", "*@", "*#", "*$", "*%", "*^", "*&", "*(", "*)", "*<", "*>", "*?", "*`", "*'", "*=", "*:", "*;", "*/", "*-", "*+", "*|", "*{", "*}", "*[", "*]", "(~", "(!", "(@", "(#", "($", "(%", "(^", "(&", "(*", "()", "(<", "(>", "(?", "(`", "('", "(=", "(:", "(;", "(/", "(-", "(+", "(|", "({", "(}", "([", "(]", ")~", ")!", ")@", ")#", ")$", ")%", ")^", ")&", ")*", ")(", ")<", ")>", ")?", ")`", ")'", ")=", "):", ");", ")/", ")-", ")+", ")|", "){", ")}", ")[", ")]", "<~", "<!", "<@", "<#", "<$", "<%", "<^", "<&", "<*", "<(", "<)", "<?", "<`", "<'", "<=", "<:", "<;", "</", "<-", "<+", "<|", "<{", "<}", "<[", "<]", ">~", ">!", ">@", ">#", ">$", ">%", ">^", ">&", ">*", ">(", ">)", "><", ">?", ">`", ">'", ">=", ">:", ">;", ">/", ">-", ">+", ">|", ">{", ">}", ">[", ">]", "?~", "?!", "?@", "?#", "?$", "?%", "?^", "?&", "?*", "?(", "?)", "?<", "?>", "?`", "?'", "?=", "?:", "?;", "?/", "?-", "?+", "?|", "?{", "?}", "?[", "?]", "`~", "`!", "`@", "`#", "`$", "`%", "`^", "`&", "`*", "`(", "`)", "`<", "`>", "`?", "`'", "`=", "`:", "`;", "`/", "`-", "`+", "`|", "`{", "`}", "`[", "`]", "'~", "'!", "'@", "'#", "'$", "'%", "'^", "'&", "'*", "'(", "')", "'<", "'>", "'?", "'`", "'=", "':", "';", "'/", "'-", "'+", "'|", "'{", "'}", "'[", "']", "=~", "=!", "=@", "=#", "=$", "=^", "=*", "=(", "=)", "=<", "=>", "=?", "=`", "='", "=:", "=;", "=-", "=+", "=|", "={", "=}", "=[", "=]", ":~", ":!", ":@", ":#", ":$", ":%", ":^", ":&", ":*", ":(", ":)", ":<", ":>", ":?", ":`", ":'", ":=", ":;", ":-", ":+", ":|", ":{", ":}", ":[", ":]", ";~", ";!", ";@", ";#", ";$", ";%", ";^", ";&", ";*", ";(", ";)", ";<", ";>", ";?", ";`", ";'", ";=", ";:", ";/", ";-", ";+", ";|", ";{", ";}", ";[", ";]", "/~", "/!", "/@", "/#", "/$", "/^", "/&", "/*", "/(", "/)", "/<", "/>", "/?","/`","/'", "/=", "/:", "/;", "/-", "/+", "/|", "/{", "/}", "/[", "/]", "-~", "-!", "-$", "-%", "-^", "-&", "-*", "-(", "-)", "-<", "->", "-?", "-`", "-'", "-=", "-:", "-;", "-/", "-+", "-{", "-}", "-[", "-]", "+~", "+!", "+@", "+#", "+$", "+%", "+^", "+&", "+*", "+(", "+)", "+<", "+>", "+?", "+`", "+'", "+=", "+:", "+;", "+/", "+-", "+|", "+{", "+}", "+[", "+]", "|~", "|!", "|$", "|%", "|&", "|*", "|(", "|)", "|<", "|>", "|?", "|`", "|'", "|=", "|:", "|;", "|/", "|-", "|+", "|{", "|}", "|[", "|]", "{~", "{!", "{@", "{#", "{$", "{%", "{^", "{&", "{*", "{(", "{)", "{<", "{>", "{?", "{`", "{'", "{=", "{:", "{;", "{/", "{-", "{+", "{|", "{}", "{[", "{]", "}~", "}!", "}@", "}#", "}$", "}%", "}^", "}&", "}*", "}(", "})", "}<", "}>", "}?", "}`", "}'", "}=", "}:", "};", "}/", "}-", "}+", "}|", "}{", "}[", "}]", "[~", "[!", "[@", "[#", "[$", "[%", "[^", "[&", "[*", "[(", "[)", "[<", "[>", "[?", "[`", "['", "[=", "[:", "[;", "[/", "[-", "[+", "[|", "[{", "[}", "[]", "]~", "]!", "]@", "]#", "]$", "]%", "]^", "]&", "]*", "](", "])", "]<", "]>", "]?", "]`", "]'", "]=", "]:", "];", "]/", "]-", "]+", "]|", "]{", "]}", "][" }; string[] HTMLorURLEncode = { "CENZIC123", "CENZIC456", "CENZIC", "./:;", ":;", "-./", ">?@", "{|}", "}~", "}~\\" }; //"=",( ) ; " , "//" if (Request.HttpMethod == "GET") { // Below code blocks incoming HTTP GET requests which contains in query string parameters intended to be used in POST var hasPostParams = (Request.QueryString["__EVENTTARGET"] ?? Request.QueryString["__VIEWSTATE"] ?? Request.QueryString["__EVENTARGUMENT"] ?? Request.QueryString["__EVENTVALIDATION"]) != null; if (hasPostParams) { //Throwing an exception when the request is tampering // throw new HttpException(405, "No GET allowed for a POST"); // // } } if (!String.IsNullOrEmpty("1")) { if (1 == 1) { if (Request.HttpMethod == "POST") { foreach (string key in Request.Form.Keys) { string FormKey = Convert.ToString(Request.Form[key]).ToUpper() ?? ""; //if (Convert.ToString(Request.Form[key]).Contains("\")(") || Convert.ToString(Request.Form[key]).Contains("=*") || Convert.ToString(Request.Form[key]).Contains(")(")) foreach (string val in LDAParr) { if (FormKey.Contains(val.ToUpper()) && key != "__EVENTTARGET" && key != "__VSKEY" && key != "__EVENTVALIDATION" && key != "__VIEWSTATE" && key != "CSRFToken") { throw new HttpException(400, "LDAP Injection Identified"); } } //foreach (string val in SQLArr) //{ // if (FormKey.Contains(val.ToUpper()) && key != "__EVENTTARGET" && key != "__VSKEY" && key != "__EVENTVALIDATION" && key != "__VIEWSTATE") // throw new HttpException(400, "Blind SQL Injection Identified"); //} if (FormKey == "*" || FormKey == "&" || FormKey == "|" || FormKey == "%26" || FormKey == "/" || FormKey == "%7C") { throw new HttpException(400, "LDAP Injection Identified"); } } foreach (string key in Request.Form.Keys) { string FormKey = key == null ? "" : Convert.ToString(Request.Form[key]).Replace("%20", "").Replace(" ", "").ToUpper(); foreach (string val in LDAParr) { if ((FormKey.Contains(val)) && (key != "__EVENTTARGET" && key != "__VSKEY" && key != "__EVENTVALIDATION" && key != "__VIEWSTATE" && key != "CSRFToken")) { throw new HttpException(400, "Blind SQL Injection Identified"); } //Match _MMC = Regex.Match(FormKey.ToLower(), @"(\d+)(\sor\s)(\d+)=(\d+)"); //Match _MMC1 = Regex.Match(FormKey.ToLower(), @"(\d+)(\sand\s)(\d+)=(\d+)"); //Match _MMC2 = Regex.Match(FormKey.ToLower(), @"(\d+)(\=\s)(\d+)(\sand\s)(\d+)"); //Match _MMC3 = Regex.Match(FormKey.ToLower(), @"(\d+)(\=\s)(\d+)(\sor\s)(\d+)"); //if (_MMC.Success || _MMC1.Success || _MMC2.Success || _MMC3.Success) } if ( ( (FormKey.Contains("AND") && FormKey.Contains("?") && FormKey.Contains("&") && FormKey.Contains("=")) || (FormKey.Contains("OR ") && FormKey.Contains("=")) || (FormKey.Contains("OR ") && FormKey.Contains("<>")) || (FormKey.Contains("OR ") && FormKey.Contains("<")) || (FormKey.Contains("OR ") && FormKey.Contains(">")) || (FormKey.Contains("OR ") && FormKey.Contains("LIKE")) || (FormKey.Contains("OR ") && FormKey.Contains("NULL")) || (FormKey.Contains(" OR") && FormKey.Contains("=")) || (FormKey.Contains(" OR") && FormKey.Contains("<>")) || (FormKey.Contains(" OR") && FormKey.Contains("<")) || (FormKey.Contains(" OR") && FormKey.Contains(">")) || (FormKey.Contains(" OR") && FormKey.Contains("LIKE")) || (FormKey.Contains(" OR") && FormKey.Contains("NULL")) || (FormKey.Contains("AND ") && FormKey.Contains("<>")) || (FormKey.Contains("AND ") && FormKey.Contains("<")) || (FormKey.Contains("AND ") && FormKey.Contains(">")) || (FormKey.Contains("AND ") && FormKey.Contains("LIKE")) || (FormKey.Contains("AND ") && FormKey.Contains("NULL")) || (FormKey.Contains(" AND") && FormKey.Contains("<>")) || (FormKey.Contains(" AND") && FormKey.Contains("<")) || (FormKey.Contains(" AND") && FormKey.Contains(">")) || (FormKey.Contains(" AND") && FormKey.Contains("LIKE")) || (FormKey.Contains(" AND") && FormKey.Contains("NULL")) || (FormKey.Contains(" UNION") && FormKey.Contains("SELECT")) || (FormKey.Contains("UNION ") && FormKey.Contains("SELECT")) ) && ( key != "__EVENTTARGET" && key != "__VSKEY" && key != "__EVENTVALIDATION" && key != "__VIEWSTATE" && key != "CSRFToken") ) { throw new HttpException(400, "Blind SQL Injection Identified"); } } foreach (string key in Request.Form.Keys) { string FormKey = key == null ? "" : Request.Form[key].ToUpper(); foreach (string val in HTMLorURLEncode) { if (FormKey.Contains(val)) { throw new HttpException("HTMLorURLEncode Identified"); } } } } if (Request.HttpMethod == "POST" || Request.HttpMethod == "GET") { if (!string.IsNullOrEmpty(Request.Url.Query)) { string URLQuery = Request.Url.Query ?? ""; if (Request.Url.AbsolutePath.Contains("ScriptResource.axd")) { return; } URLQuery = URLQuery.Replace("%20", "").Replace(" ", "").ToUpper(); //if (URLQuery.Contains("'or'") || URLQuery.Contains("'and'") || URLQuery.Contains("'='") || URLQuery.Contains("'") || URLQuery.Contains("\"") || URLQuery.Contains("%22")) foreach (string val in SQLArr) { if (URLQuery.Contains(val.ToUpper())) { throw new HttpException(400, "Blind SQL Injection Identified"); } } foreach (string val in LDAParr) { //if (URLQuery.Contains("\")(") || URLQuery.Contains("=*") || URLQuery.Contains("=*") // || URLQuery.Contains("%3d%2a") || URLQuery.Contains(")(") || URLQuery.Contains(")") // || URLQuery.Contains("(") || URLQuery.Contains("*!") || URLQuery.Contains("*|") // || URLQuery.Contains("/") || URLQuery.Contains("'") || URLQuery.Contains("!") || // URLQuery.Contains("@*") || URLQuery.Contains("*|") || URLQuery.Contains("*/") // || URLQuery.Contains("/*") || URLQuery.Contains("%3D%2A") || URLQuery.Contains("/*")) if (URLQuery.Contains(val.ToUpper())) { throw new HttpException(400, "LDAP Injection Identified"); } } NameValueCollection Items = HttpUtility.ParseQueryString(URLQuery); foreach (string QS in Items.AllKeys) { string QueryString = QS == null ? "" : QS.ToUpper(); string QSValue = QS == null ? "" : Items[QS].ToUpper(); if (QueryString == "*" || QSValue == "*" || QueryString == "&" || QSValue == "&" || QueryString == "%7C" || QSValue == "%7C" || QueryString == "%26" || QSValue == "%26" || QueryString == "|" || QSValue == "|") { throw new HttpException(400, "LDAP Injection Identified"); } if (QueryString == "*" || QSValue == "*" || QueryString == "?" || QSValue == "?" || QueryString == "&" || QSValue == "&" || QueryString == "&") { throw new HttpException(400, "LDAP Injection Identified"); } if ( ( (QSValue.Contains("AND") && QSValue.Contains("?") && QSValue.Contains("&") && QSValue.Contains("=")) || (QSValue.Contains("OR ") && QSValue.Contains("=")) || (QSValue.Contains("OR ") && QSValue.Contains("<>")) || (QSValue.Contains("OR ") && QSValue.Contains("<")) || (QSValue.Contains("OR ") && QSValue.Contains(">")) || (QSValue.Contains("OR ") && QSValue.Contains("LIKE")) || (QSValue.Contains("OR ") && QSValue.Contains("NULL")) || (QSValue.Contains(" OR") && QSValue.Contains("=")) || (QSValue.Contains(" OR") && QSValue.Contains("<>")) || (QSValue.Contains(" OR") && QSValue.Contains("<")) || (QSValue.Contains(" OR") && QSValue.Contains(">")) || (QSValue.Contains(" OR") && QSValue.Contains("LIKE")) || (QSValue.Contains(" OR") && QSValue.Contains("NULL")) || (QSValue.Contains("AND ") && QSValue.Contains("<>")) || (QSValue.Contains("AND ") && QSValue.Contains("<")) || (QSValue.Contains("AND ") && QSValue.Contains(">")) || (QSValue.Contains("AND ") && QSValue.Contains("LIKE")) || (QSValue.Contains("AND ") && QSValue.Contains("NULL")) || (QSValue.Contains(" AND") && QSValue.Contains("<>")) || (QSValue.Contains(" AND") && QSValue.Contains("<")) || (QSValue.Contains(" AND") && QSValue.Contains(">")) || (QSValue.Contains(" AND") && QSValue.Contains("LIKE")) || (QSValue.Contains(" AND") && QSValue.Contains("NULL")) || (QSValue.Contains("UNION") && QSValue.Contains("SELECT")) || (QSValue.Contains("UNION ") && QSValue.Contains("SELECT")) ) ) { throw new HttpException(400, "Blind SQL Injection Identified"); } if ((QueryString.Contains("AND") && QueryString.Contains("=")) || (QueryString.Contains("OR") && QueryString.Contains("=")) || (QueryString.Contains("AND") && QueryString.Contains("LIKE")) || (QueryString.Contains("UNION") && QueryString.Contains("SELECT")) || (QueryString.Contains("OR") && QueryString.Contains("LIKE"))) { throw new HttpException(400, "Blind SQL Injection Identified"); } } foreach (string val in HTMLorURLEncode) { if (URLQuery.Contains(val.ToUpper())) { throw new HttpException("HTMLorURLEncode Identified"); } } } } } } }
public static partial uint MsgWaitForMultipleObjectsEx(uint nCount, IntPtr pHandles, uint dwMilliseconds, QS dwWakeMask, MWMO dwFlags);