Monthly Archives: 8月 2016

C#でローカルのIPアドレスを取得する方法

参考コード:
using System.Net;
using System.Net.Sockets;
string name = Dns.GetHostName();
var ipAddress= Dns.GetHostEntry(name).AddressList.Where(i => i.AddressFamily == AddressFamily.InterNetwork).FirstOrDefault();
textBox1.Text =string.Format(“{0}:{1}”,name,ipAddress.ToString());

Java開発でJSP画面にSQLインジェクション対策方法のまとめ

1.正規表現式の対応
参考コード
import java.util.regex.*;
private String strChkSQL= “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;
Pattern.matches(CHECKSQL,targerStr);

SQL meta-charactersの正規表現
/((\%3D)|(=))[^\n]*((\%27)|(\’)|(\-\-)|(\%3B)|(:))/i

インジェクションSQL正規表現
/\w*((\%27)|(\’))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix

UNION SQL構文正規表現
/((\%27)|(\’))union/ix(\%27)|(\’)

MS SQL Server SQLについて正規表現
/exec(\s|\+)+(s|x)p\w+/ix
2.文字列フィルター
public static boolean funcSQLInject(String str)
{
String inj_str = “‘|and|exec|insert|select|delete|update|
count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,”;
String str_inject[] = split(inj_str,”|”);
for (int i=0 ; i < str_inject.length ; i++ )
{
if (str.indexOf(str_inject[i])>=0)
{
return true;
}
}
return false;
}

3.URLの文字列を判断する
package com.startnews24.funcSQLInject;
import java.net.*;
import java.io.*;
import java.sql.*;
import java.text.*;
import java.lang.String;
public class funcSQLInject{
public static boolean funcSQLInject(String str)
{
String inj_str = “‘|and|exec|insert|select|delete|update|
count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,”;
String[] str_inject=inj_str.split(“\\|”);
for (int i=0 ; i<str_inject.length ; i++ )
{
if (str.indexOf(str_inject[i])>=0)
{
return true;
}
}
return false;
}
}

4.JavaScriptで文字列を遮断する
function chkStrKaku(a)
{
return 1;
fibdn = new Array (”‘” ,”\\”,”/”);
i=fibdn.length;
j=a.length;
for (ii=0; ii<i; ii++)
{ for (jj=0; jj<j; jj++)
{ temp1=a.charAt(jj);
temp2=fibdn[ii];
if (tem’; p1==temp2)
{ return 0; }
}
}
return 1;
}

C#でforeachを使って2次元配列の要素を遍歴する

参考コード
using System;
public class foreachdemo{
public static void Main() {
int sum = 0;
int[,] nums = new int[3,5];
for(int i = 0; i < 3; i++)
for(int j=0; j < 5; j++)
nums[i,j] = (i+1)*(j+1);
foreach(int x in nums) {
Console.WriteLine(“値: ” + x);
sum += x;
}
Console.WriteLine(“総和: ” + sum);
}
}

c#入門でforeachを利用して配列の要素を操作する

参考コード
using System;
public class startnews24demo {
public static void Main() {
int sum = 0;
int[] nums = new int[10];

for(int i = 0; i < 10; i++)
nums[i] = i;

//foreach操作
foreach(int x in nums) {
Console.WriteLine(“Value is: ” + x);
sum += x;
}
Console.WriteLine(“Summation: ” + sum);
}

jQueryでRequest.QueryStringを取得する方法

参考コード:
QueryString = {
data: {},
Initial: function() {
var cftPairs, cftTmp;
var queryString = new String(window.location.search);
queryString = queryString.substr(1, queryString.length); //remove “?” cftPairs = queryString.split(“&”);
for (var i = 0; i < cftPairs.length; i++) {
cftTmp = cftPairs[i].split(“=”);
this.data[cftTmp[0]] = cftTmp[1];
}
},
GetValue: function(key) {
return this.data[key];
}
}

//初期化
QueryString.Initial();
var parQtt = parseInt(QueryString.GetValue(‘parQtt’));

Javascriptで現在の日付を取得する方法

参考コード:
<script language=”javascript”>
var d = new Date()
var objYear = d.getFullYear()
var objMon = d.getMonth() + 1
var objDay = d.getDate()
var h = d.getHours();
var m = d.getMinutes();
var se = d.getSeconds();
s=objYear+(objMon<10 ? “0” + objMon : objMon)+(objDay<10 ? “0”+ objDay : objDay)+(h<10 ? “0”+ h : h)+(m<10 ? “0” + m : m)+(se<10 ? “0” +se : se);
document.write(s);
</script>

JQueryでURLのGetパラメーターを取得する方法

参考コード:
(function($){
$.extend({
/**
* url get parameters
* @public
* @return array()
*/
urlGet:function()
{
var aQuery = window.location.href.split(“?”);
var aGET = new Array();
if(aQuery.length > 1)
{
var dfBuf = aQuery[1].split(“&”);
for(var i=0, iLoop = dfBuf.length; i<iLoop; i++)
{
var dfTmp = dfBuf[i].split(“=”);//keyとValue
aGET[dfTmp[0]] = dfTmp[1];
}
}
return aGET;
},
});
})(jQuery);

jQueryでテーブル(table)の行数を取得する

1.HTMLコード
<table>
<tr id=”parent01″>
<td>Parent 1</td>
</tr>
<tr class=”child”>
<td>Child 1</td>
</tr>
<tr class=”child”>
<td>Child 2</td>
</tr>

<tr id=”parent02″>
<td>Parent2</td>
</tr>

</table>

2.JSコード:
<script>
var childCount = ($(‘#parent02’).get(0).rowIndex – $(‘#parent01’).get(0).rowIndex) – 1;
$(‘#parent01 ~ .child:not(#parent02 ~ *)’).size();

var rowid1 = ‘parent01’;
var rowid2 = ‘parent02’;

var rows = $(“#”+rowid1).parent().find(‘tr’);
var count = 0;

for (var i = 0; i < rows.size(); i++) {
var el = rows.get(i);
// Done counting
if (el.id == rowid2) break;
if (el.id != rowid1) {
++count;
}
}
alert(“There are ” + count + ” rows between”);
</script>

jQueryでtableのtrの追加、削除をする方法

1.jsコード
<script type=”text/javascript” src=”js/jquery-1.7.1.min.js”></script>
<script>
$(function(){
$(“#getAtr”).click(function(){
$str=”;
$str+=”<tr align=’center’>”;
$str+=”<td><input type=’text’ name=’gameTitle[]’/></td>”;
$str+=”<td><input type=’file’ name=’img[]’ /></td>”;
$str+=”<td><input type=’text’ name=’gameContent[]’ /></td>”;
$str+=”<td><input type=’text’ name=’gameSource[]’ /></td>”;
$str+=”<td><input type=’text’ name=’gameAuthor[]’ /></td>”;
$str+=”<td><input type=’text’ name=’gamePosition[]’ /></td>”;
$str+=”<td onClick=’getDel(this)’><a href=’#’>削除</a></td>”;
$str+=”</tr>”;
$(“#addTr”).append($str);
});
});

function getDel(k){
$(k).parent().remove();
}
</script>
2.htmlコード
<table align=”center” border=”1″ cellpadding=”0″ cellspacing=”0″ width=”90%”>
<tr align=”center”>
<td>ゲーム名</td>
<td>ゲーム画像</td>
<td>ゲームコンテンツ</td>
<td>ゲーム概要</td>
<td>ゲーム開発元</td>
<td>ゲーム企画</td>
<td align=”center”><a href=”#” id=”getAtr”>追加</a></td>
</tr>
<tbody id=”addTr”>
<tr align=”center”>
<td><input type=”text” name=”gameTitle[]”/></td>
<td><input type=”file” name=”img[]” /></td>
<td><input type=”text” name=”gameContent[]” /></td>
<td><input type=”text” name=”gameSource[]” /></td>
<td><input type=”text” name=”gameAuthor[]” /></td>
<td><input type=”text” name=”gamePosition[]” /></td>
<td></td>
</tr>
</tbody>
<tr align=”center”>
<td colspan=”5″><input type=”submit” value=”追加” /></td>
</tr>
</table>

jQueryにgetJSONの使い方

参考コード:
$(document).ready(function(e) {
$.getJSON(“http://devcenter.xxx.net/json.aspx?n=6&jsoncallback=?”,function(result){
$(“.checkdevLst”).empty();
$.each(result, function(i,field){
var html=””;
html=”<li><a href=\””+field[“link”]+”\” target=\”_blank\”>”+field[“title”]+”</a></li>”;
$(“.checkdevLst”).append(html);
});
});
});