$ brew remove wireshark $ brew install wireshark --with-qt $ brew cask install wireshark-chmodbpf $ brew linkapps wiresharkmacにwiresharkを入れる
2016年11月26日土曜日
macにwiresharkを入れる
2016年11月24日木曜日
2016年11月19日土曜日
2016年11月16日水曜日
2016年11月13日日曜日
CakePHP behaviorにValidation作る
Cake1.x系ですが、参考になりそうなのでメモ
class AddValidationRuleBehavior extends ModelBehavior {
function setup(&$model, $config = array())
{
//$this->settings = $config;
mb_internal_encoding("UTF-8");
}
/**
* マルチバイト用バリデーション 文字数上限チェック
*
* @param array &$model
* @param array $wordvalue
* @param int $length
* @return boolean
*/
function maxLengthJP( &$model, $wordvalue, $length ) {
$word = array_shift($wordvalue);
//return( mb_strlen( $word, mb_detect_encoding( $word ) ) <= $length );
return( mb_strlen( $word ) <= $length );
}
/**
* マルチバイト用バリデーション 文字数下限チェック
*
* @param array &$model
* @param array $wordvalue
* @param int $length
* @return boolean
*/
function minLengthJP( &$model, $wordvalue, $length ) {
$word = array_shift($wordvalue);
return( mb_strlen( $word ) >= $length );
}
/**
* フィールド値の比較
* emailとemail_confフィールドを比較する場合などに利用
* _confは$suffixによって変更可能
*
* @param array &$model
* @param array $wordvalue
* @param string $suffix
* @return boolean
*/
function checkCompare( &$model, $wordvalue , $suffix ){
$fieldname = key($wordvalue);
return ( $model->data[$model->alias][$fieldname] === $model->data[$model->alias][ $fieldname . $suffix ] );
}
/**
* 全角カタカナ以外が含まれていればエラーとするバリデーションチェック
*
*
* @param array &$model
* @param array $wordvalue
* @return boolean
*/
function katakana_only( &$model, $wordvalue){
$value = array_shift($wordvalue);
return preg_match("/^[ァ-ヶー゛゜]*$/u", $value);
}
/**
* 全角、半角スペースのみであればエラーとするバリデーションチェック
*
* @param array &$model
* @param array $wordvalue
* @return boolean
*/
function space_only( &$model, $wordvalue){
$value = array_shift($wordvalue);
if( mb_ereg_match("^(\s| )+$", $value) ){
return false;
}else{
return true;
}
}
/**
* only Allow 0-9, a-z , A-Z
*
* @param array ref &$model
* @param array $wordvalue
* @return boolean
*/
function alpha_number( &$model, $wordvalue ){
$value = array_shift($wordvalue);
return preg_match( "/^[a-zA-Z0-9]*$/", $value );
}
}
?>
2016年11月10日木曜日
CakePHP Validationいろいろ
コントローラーでモデルで指定するほどじゃないけど、
ちょっとだけ使いたい。そんなときに。
App::uses('Validation','Utility');
if(Validation::url($this->params['form']['url'])){
echo 'urlだよ';
} else {
echo 'noturl';
}
if(Validation::blank($this->request->data['User']['email'])){
//ちなみに全角マッチしなかった
debug("match");
return;
}else{
debug("Not match!!!!!");
return;
}
CSRF
csfr仕組み
csfr仕組み
if($this->request->is('post') ){
$tokenHidden = $this->request->data['User']['Token'];
$tokenSession = $this->Session->read('Token');
if($tokenHidden == $tokenSession){
debug("Tokenおなじです");
}else{
debug("Tokenちがうよ");
}
$this->set('token', $this->Session->read('Token'));
}else{
//GET時Tokenセット
$this->Session->delete('Token');
$uid = sha1(uniqid(mt_rand(), true));
$this->Session->write('Token', $uid);
$this->request->data['User']['Token']=$uid;
}
登録:
投稿 (Atom)